Java Eclipse为什么以及何时将Maven依赖项放在类路径而不是模块路径中?
我有一个Java11项目,它定义了一个module-info.Java,并且与JPMS兼容——除了它需要来自其他不关心JPMS的开发人员的未命名模块 当我将Maven依赖项放在模块路径中时,也就是说,在Eclipse的Java Eclipse为什么以及何时将Maven依赖项放在类路径而不是模块路径中?,java,eclipse,maven,java-platform-module-system,Java,Eclipse,Maven,Java Platform Module System,我有一个Java11项目,它定义了一个module-info.Java,并且与JPMS兼容——除了它需要来自其他不关心JPMS的开发人员的未命名模块 当我将Maven依赖项放在模块路径中时,也就是说,在Eclipse的.classpath中,我有 <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribu
.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类型。它是从required.class文件间接引用的”)
如何告诉Maven在“Maven->Update Project…”时保留
(Eclipse版本是2020-03)我在我的
pom.xml中使用它:
org.apache.maven.plugins
maven编译器插件
3.8.1
${java.version}
${java.version}
${java.version}
真的
真的
真的
来源,行
真的
log4j:log4japi
org.apache.logging.log4j.core:log4jcore
... 等
但是,不幸的是,一些modulePath>dependency
工作正常,另一些不行。请给出一个简单的例子来重现这个问题(pom.xml
,module info.java
和java代码)。您是否尝试过打开“配置构建路径”对话框并拖动“Maven依赖项”从类路径到模块路径的项目?是。我试过了。它的工作原理是,updateprojecteclipse将把它更改回来。问题是关于“Maven->更新项目…”