将外部 JAR 附加到 eclipse 中的 java 项目 - java.lang.NoClassDefFoundError
Attaching external JARs to a java project in eclipse - java.lang.NoClassDefFoundError
尝试在 eclipse 中实现 pdfbox,但是当我 运行 它时出现此错误。
>Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
> at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(BaseParser.java:68)
> at com.pdf.util.PDFTextParser.<init>(PDFTextParser.java:26)
> at com.pdf.util.PDFTextParser.main(PDFTextParser.java:77)
>Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> ... 3 more
程序停在这行代码:
parser = new PDFParser (new FileInputStream(file));
PDFParser 来自 pdfbox。
我猜测我附加 JAR 文件的方式有问题吗?
- 我将所有 jar 文件移动到我创建的名为 "lib" 的文件夹中,该文件夹是项目的一部分。
- 进入项目属性 -> Java 构建路径,并为每个 JAR 文件单击 "Add External JARs"
- 执行此操作后,我注意到每个 JAR 都显示 "Source attachment: none",因此我单击编辑并将目标设置为其在 lib 文件夹中的位置。
- 当我进入 运行 配置时,在类路径下,我可以看到 JAR 文件在我的项目下面。
PDFBox 需要 Commons Logging(请参阅项目网站上的 this dependencies page)。您需要在类路径中引用该 Jar 以及 PDFBox Jar。如果您使用像 Maven 这样的构建工具,它应该会自动为您的项目下载它。
检查link如何在堆栈溢出中将外部 jar 添加到类路径
尝试在 eclipse 中实现 pdfbox,但是当我 运行 它时出现此错误。
>Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
> at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(BaseParser.java:68)
> at com.pdf.util.PDFTextParser.<init>(PDFTextParser.java:26)
> at com.pdf.util.PDFTextParser.main(PDFTextParser.java:77)
>Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> ... 3 more
程序停在这行代码:
parser = new PDFParser (new FileInputStream(file));
PDFParser 来自 pdfbox。
我猜测我附加 JAR 文件的方式有问题吗?
- 我将所有 jar 文件移动到我创建的名为 "lib" 的文件夹中,该文件夹是项目的一部分。
- 进入项目属性 -> Java 构建路径,并为每个 JAR 文件单击 "Add External JARs"
- 执行此操作后,我注意到每个 JAR 都显示 "Source attachment: none",因此我单击编辑并将目标设置为其在 lib 文件夹中的位置。
- 当我进入 运行 配置时,在类路径下,我可以看到 JAR 文件在我的项目下面。
PDFBox 需要 Commons Logging(请参阅项目网站上的 this dependencies page)。您需要在类路径中引用该 Jar 以及 PDFBox Jar。如果您使用像 Maven 这样的构建工具,它应该会自动为您的项目下载它。
检查link如何在堆栈溢出中将外部 jar 添加到类路径