【发布时间】:2013-01-19 14:40:19
【问题描述】:
在处理中,我想导入一个我用 Java 编写的库,该库包含一个外部库(一个 .jar 文件)。
Processing 似乎导入了我自己的库,但是当我调用构造函数(它引用了外部库中的一些类)时,我在 Processing GUI 控制台中得到了一个 java.lang.NoClassDefFoundError。
如果我没有在我的 Eclipse 构建路径中包含 External .jar,而是使用库的实际源代码并导出所有这些,Processing 不会抱怨。
我怎样才能打包这个项目,这样我就不必在我的 Eclipse 项目中包含所有库的源代码(而只需包含 .jar 文件)?
更新:根据 N.L.telaviv 的建议,我选择导出为 Runnable JAR。对我有用的是选择“将所需的库复制到生成的 JAR 旁边的子文件夹中”选项。在这里,在您的 .jar 输出位置旁边创建另一个文件夹,其中包含引用的 .jar 库。
Update2:另一个可行的选项是“将所需的库提取到生成的 JAR 中”。这样做允许 JAR 在内部访问引用。似乎同样适用于 N.L.telaviv 的建议,但情况似乎并非如此。如果您不想有任何额外的文件,请选择此选项。如果您浏览 .JAR 文件,您会注意到外部库位于单独的包文件夹中。
【问题讨论】:
-
嗨,我已经选择了所有这些选项,但没有人为我工作。你能告诉我会有什么问题吗?谢谢!
标签: java eclipse jar processing external-dependencies