【问题标题】:How to export an Eclipse Project with External Jar dependencies?如何导出具有外部 Jar 依赖项的 Eclipse 项目?
【发布时间】: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


【解决方案1】:

使用 Runnable JAR 文件导出选项。

点击你的项目--导出--java--runnable jar文件--选择选项打包需要jar中的库

【讨论】:

  • 刚刚试过,没有运气。这里唯一的区别是,除了导入 MyProjectPackage.*,Processing 还导入 org.eclipse.jdt.internal.jarinjarloader.*
  • 检查 MANIFEST 中的类路径定义是否包含每个 JAR
  • 你指的是 .classpath 文件吗?如果是这种情况,那么它确实有 .jar。我还发现,如果我选择“将所需的库复制到生成的 JAR 旁边的子文件夹中”,而不是选择打包到生成的 jar 中,它似乎可以工作。
  • 我的项目没有主类。它并不意味着是一个独立的应用程序。
猜你喜欢
  • 2015-04-21
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
  • 2012-04-21
  • 2016-10-20
  • 2017-02-01
相关资源
最近更新 更多