blog.sina/s/blog_5da93c8f0101ctlt.html
Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) (2012-12-12 18:54:24)转载▼
标签: android jar 分类: 手机世界
以前用的正好的工程,自己调整了下jar包,把重复的jar包加载去掉了,结果运行程序出现这个问题:
XXXX  java.lang.NoClassDefFoundError,报错的地方正好是调用引入jar的class文件。
经常文件一切正常,怀疑是jar包引入错误造成。
网上提供如下方法解决此问题:
1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。(第一步就可以了)
2、将引用的第三方包,添加进工作的build path。
3、(关键的一步)将lib设为源文件夹。 右击lib 选择build path 点击 use as source folder。
springframework jar包导入
注:如果不设置,则程序编译可以通过,但运行的时候,会报:
java.lang.NoClassDefFoundError
问题解决,但具体原因回头分析!
虽然上述问题得以解决,但当我引入pinyin4j-2.5.0.jar,调用其方法时,报:
03-29 09:56:01.668: (3720): java.io.IOException: BufferedInputStream is closed
03-29 09:56:01.670: (3720):  at java.io.BufferedInputStream.streamClosed(BufferedInputStream.java:147)
03-29 09:56:01.670: (3720):  at java.ad(BufferedInputStream.java:325)
03-29 09:56:01.670: (3720):  at java.ad(InputStreamReader.java:286)
03-29 09:56:01.670: (3720):  at java.io.BufferedReader.fillBuf(BufferedReader.java:159)
03-29 09:56:01.670: (3720):  at java.ad(BufferedReader.java:267)
03-29 09:56:01.670: (3720):  at java.util.Properties.load(Properties.java:338)
03-29 09:56:01.670: (3720):  at java.util.Properties.load(Properties.java:297)
03-29 09:56:01.670: (3720):  at net.sourceforge.pinyin4j.ChineseToPinyinResource.initializeResource(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.pinyin4j.ChineseToPinyinResource.(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.pinyin4j.ChineseToPinyinResource.(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.pinyin4j.ChineseToPinyinResource$ChineseToPinyinResourceHolder.(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.Instance(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.UnformattedHanyuPinyinStringArray(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.FormattedHanyuPinyinStringArray(Unknown Source)
03-29 09:56:01.671: (3720):  at net.sourceforge.HanyuPinyinStringArray(Unknown Source)
03-29 09:56:01.671: (3720):  at com.acts.Hanz
03-29 09:56:01.671: (3720):  at com.Token(HanziToPinyin.java:570)
03-29 09:56:01.671: (3720):  at com.(HanziToPinyin.java:616)
因为之前jar包一直正常使用,现在提示这个原因,网上给出的解释大多与此现象不符。
幸好之前备份了工程,拿之前的项目对比发现:
我原有的工程jar包均放置在Reference Libraries,而android2.2工程默认的外部jar包都是放在此引用目录下。
通过尝试,果然把jar包移植此目录下,问题解决。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。