首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse插件中的传递依赖- Java 9项目

Eclipse插件中的传递依赖- Java 9项目
EN

Stack Overflow用户
提问于 2018-03-25 18:18:30
回答 1查看 381关注 0票数 4

看来,在我的Eclipse中,氧3中的传递依赖关系在插件项目中没有得到解决。考虑以下项目,A完全依赖于B,B依赖于C:

虽然在JDK1.8中运行A很好(正如预期的那样),但是在JDK 9中我得到了众所周知的结果

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: c/C
    at b.B.<init>(B.java:9)
    at a.A.main(A.java:8)
Caused by: java.lang.ClassNotFoundException: c.C
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 2 more

我知道,我没有声明任何模块,但我认为,忽略它们只会保持项目的原样,即使在JDK 9中也是如此。当我在A MANIFEST.MF中直接导入项目C时,所有模块都可以像JDK1.8一样工作。那么,如果可能的话,如何让项目运行而不声明模块呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-26 10:22:52

您可以修改项目B中的MANIFEST.MF以将其依赖项重新导出到项目C:

  • 在清单编辑器中打开项目B中的MANIFEST.MF
  • 切换到“依赖项”选项卡
  • 选择项目C的依赖项并单击“Properties.”
  • 选择“重新导出此依赖项”

请记住,此更改还将使项目C中的类在项目A中可用,在使用这些类时创建一个从A到C的显式依赖关系。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49479262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档