我安装版本:Oxygen.1a版本(4.7.1a)版本号:20171005-1200 支持Java 9。
在eclipse.ini上建议配置
-vm
C:\Program Files\Java\jdk-9\bin\javaw.exe
--add-modules=ALL-SYSTEM
我已经开发了java 9(java 9 modularity)code项目来测试依赖注入作为来自eclipse的纯Java prject,但是当我集成Maven运行我的eclipse时,我系统地得到以下错误
启动初始化期间发生错误 layerjava.lang.module.FindException:模块com.my.module.hello.test 找不到
唯一的解决方案是添加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 source: jrt:/java.base [0.697s] [info] [class,load] com.my.module.hello.MyHello 资源: 文件:/ C:/用户/ 212442540 /工作区培训/我的模块,PRJ /我的模块/目标/班/ [0.698s] [信息] [类,负载] java.lang.module.ModuleDescriptor $$ Lambda $ 24/2114889273来源: java.lang.module.ModuleDescriptor ...
当我删除" - module-path"参数此行消失。
注意:Eclipse能够在编译或编辑期间正常工作。请参阅completition等等。
我已将modpath依赖项添加到我的项目
所以似乎Eclipse能够编译java 9模块,但如果与maven集成则无法运行模块。
强制依赖于Configratin Run 我还手动添加了依赖项 图1
但是eclipse继续删除它们。
在:
图2
运行eclipse后恢复:
如果与maven集成,eclipse似乎会系统地重置配置。
答案 0 :(得分:6)
我可以重现您的问题,它看起来像M2Eclipse的错误。
Please report it to Eclipse。 Bug 526838 - Eclipse wrong Module dependencies on Run configuration when integrated with maven
解决方法使用 外部工具配置 而不是Java应用程序运行配置:
输入以下数值:
地点:C:\windows\system32\cmd.exe
工作目录:${workspace_loc:/my-module}
参数:
/C java
-p target/classes;../my-module-api/target/classes;../my-module-it/target/classes
-m com.my.module.hello.test/com.my.module.hello.Reflection
点击 运行