我在模拟器Android设备上使用Eclipse,我有以下简单的代码:
File file = new File(this.getFilesDir() + "/example.pdf");
if(!file.exists())
file.createNewFile();
FileOutputStream fop = new FileOutputStream(file);
Document document = new Document();
(…)
我做Document document = new Document();
我收到错误:
Java.lang.NoClassDefFoundError:com.itextpdf.text.Document
我有这样的itext.jar:
<classpath>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0-sources.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0-sources.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0-sources.jar"/>
</classpath>
所有这些都在“资产”的路径中。
答案 0 :(得分:0)
你的错误:
Java.lang.NoClassDefFoundError: com.itextpdf.text.Document
看起来你输入了错误的Document
类。
尝试此导入:
import org.w3c.dom.Document;
答案 1 :(得分:0)
如果您使用的是Android,最好使用the Android port。 此端口用于我们所有的Android演示。 与纯Java iText版本的区别在于:
请注意,NoClassDefFoundError
不仅在找不到类时发生。在你的情况下:班级在那里:只需检查罐子。当存在歧义时,也会抛出这样的错误。例如:因为您的CLASSPATH中有两个版本的iText。如果我是你,我会删除所有对iText的引用,然后重新开始使用iText的Android端口。我很确定你的CLASSPATH中有太多的条目。