【问题标题】:How to export runnable JAR file from Eclipse with all dependencies?如何从 Eclipse 中导出具有所有依赖项的可运行 JAR 文件?
【发布时间】:2018-09-05 11:35:16
【问题描述】:

我有两个针对 java 10 的 maven 项目:

项目A依赖项目B:

我已经为项目 A 创建了运行配置,它按预期工作。现在,我想从这个运行配置中创建可运行的 jar,

...但是 .jar 文件不包含来自项目 B 的 .class 文件:

所以当我尝试运行这个 .jar 时,它会抛出:

Exception in thread "main" java.lang.NoClassDefFoundError: b/B
    at a.A.main(A.java:7)
Caused by: java.lang.ClassNotFoundException: b.B
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

我该如何解决这个问题? 我已经在新下载的 Eclipse Photon (4.8.0) 上对其进行了测试

【问题讨论】:

标签: java eclipse


【解决方案1】:

好的,我找到了答案。我还必须将依赖项目(B)添加到 Maven 依赖项:

<dependencies>
  <dependency>
    <groupId>B</groupId>
    <artifactId>B</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </dependency>
</dependencies>

我相信以前的 Eclipse 版本不需要它。

【讨论】:

  • 我怀疑这与 Eclipse 版本有关。
  • 我过去曾多次使用 Eclipse Oxygen 和 Java 8 为同一个项目导出可运行 jar。将 java 升级到 10 并将 Eclipse 升级到 Photon 后出现问题,也许 Eclipse 以不同方式处理 java 10 (由于新的模块系统等)。
猜你喜欢
  • 2013-01-19
  • 2014-09-02
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多