【发布时间】:2020-05-27 08:32:21
【问题描述】:
我有一个 Java 11 项目,它定义了一个 module-info.java 并与 JPMS 兼容 - 除了它需要来自其他尚未关心 JPMS 的开发人员的未命名模块。
当我把Maven依赖放在模块路径下,也就是Eclipse的.classpath里我有
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
然后一切正常。但是,当我在 Eclipse 中选择 Maven -> Update Project 时,Eclipse 将删除该行
<attribute name="module" value="true"/>
之后,项目在 Eclipse 中显示错误(“无法解析类型 xxx。它是从所需的 .class 文件中间接引用的。”)。
如何告诉 Maven 在“Maven -> 更新项目...”时保留 <attribute name="module" value="true"/>。
(Eclipse 版本为 2020-03)
【问题讨论】:
-
请展示一个最小示例来重现此问题(
pom.xml、module-info.java和 Java 代码)。 -
您是否尝试过打开“配置构建路径”对话框并将“Maven 依赖项”项从类路径拖到模块路径?
-
是的。我试过了。它的工作原理是
Update Project Eclipse 就会把它改回来。问题是关于“Maven -> 更新项目...”
标签: java eclipse maven java-platform-module-system