我安装了版本:Oxygen.1a Release (4.7.1a) Build id: 20171005-1200支持 Java 9。
在 eclipse.ini 上建议配置
-vm
C:\Program Files\Java\jdk-9\bin\javaw.exe
--add-modules=ALL-SYSTEM
我已经开发了 java 9(java 9 模块化)代码项目来测试依赖注入作为来自 Eclipse 的纯 Java 项目,但是当我集成 Maven 从 Eclipse 运行我时,我系统地得到以下错误
启动层初始化时出错java.lang.module.FindException: Module com.my.module.hello.test not found
唯一的解决方案是添加 VM 参数
--module-path target/classes;../my-module-api/target/classes;../my-module-it/target/classes --module com.my.module.hello.test/com.my.module.hello.Reflection
实际上,如果将我在加载期间可以看到的详细参数添加到 Vm 参数
... [0.694s][info][class,load] java.lang.NamedPackage 源:jrt:/java.base [0.697s][info][class,load] com.my.module.hello.MyHello 源: file:/C:/Users/212442540/workspace-training/my-module-prj/my-module/target/classes/ [0.698s][info][class,load] java.lang.module.ModuleDescriptor$$ Lambda$24/2114889273 来源:java.lang.module.ModuleDescriptor ...
当我删除“--module-path”参数时,这条线消失了。
注意:Eclipse 在编译或编辑过程中能够正常工作。看到完成等等..
我也在我的项目中添加了 modpath 依赖项
强制依赖项目配置
因此,Eclipse 似乎能够编译 java 9 模块,但如果与 maven 集成,则无法运行模块。
强制依赖 Configratin Run 我还手动添加了依赖关系 图 1
但日食继续删除它们。
前:
图 2
运行 eclipse 后恢复:
如果与 maven 集成,eclipse 似乎会系统地重置配置。