Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse为什么以及何时将Maven依赖项放在类路径而不是模块路径中?_Java_Eclipse_Maven_Java Platform Module System - Fatal编程技术网

Java Eclipse为什么以及何时将Maven依赖项放在类路径而不是模块路径中?

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

我有一个Java11项目,它定义了一个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类型。它是从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->更新项目…”