【问题标题】:Export jar (eclipse) while keeping external lib and source files导出 jar (eclipse),同时保留外部库和源文件
【发布时间】:2015-11-14 21:22:21
【问题描述】:

我正在尝试导出我的 java 项目,以便能够将其发送到公司以找到工作。我使用 Eclipse Mars。

我想向他们发送源文件、我的程序运行的 (.json) 文件、可执行 jar 和我正在使用的外部库 (json-simple-1.1)。

我已经尝试过这种技术Exporting a Java Project as .jar with including .java source code and preserving external libraries dependecies 但它对我不起作用,当我尝试启动我的项目时,我收到以下错误

>>>java -jar projet.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)

如果您需要更多信息,尽管问我,我会尽力回答。

我也想道歉,因为我的问题感觉很愚蠢......但我找不到解决方案......

提前谢谢你...

【问题讨论】:

  • 只需在这里投入我的两分钱......如果你正在申请工作,使用像 maven 这样的构建工具绝对是 +1。让你的构建依赖于你的 IDE 的配置通常是不好的做法。
  • 如果您申请的公司使用不同的构建工具?

标签: java eclipse jar executable-jar


【解决方案1】:

在您的项目中创建一个文件夹(与src 平行)并将所有外部库添加到其中。在您的项目中引用这些库(通过将它们添加到构建路径)。

将它们包含在您的 jar 中,同时使用可运行的 jar 导出它。它应该可以工作。

注意:切勿在项目中使用绝对路径的外部 jar 文件。始终使用相对路径引用,以便项目在运送到其他地方时可以正常工作。

【讨论】:

  • 感谢您的回答,但我已经尝试过此解决方案。我有以下架构: Project = src + doc + lib + myjsonfile.json.
  • 如何让 eclipse 使用相对路径?
  • 在你的eclipse项目下,寻找参考库。删除所有 jar 文件。现在右键单击项目下 lib 文件夹中的 jar 文件,选择“构建路径”选项,然后单击“添加到构建路径”。所有 jar 文件都将添加相对路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 2013-10-14
  • 2016-10-20
相关资源
最近更新 更多