gpt4 book ai didi

java - Eclipse 为什么以及何时将 Maven 依赖项放在 CLASSPATH 中而不是 MODULEPATH 中?

转载 作者:行者123 更新时间:2023-12-03 19:11:14 24 4
gpt4 key购买 nike

我有一个 Java 11 项目,它定义了一个 module-info.java 并且与 JPMS 兼容——除了它需要来自尚未关心 JPMS 的其他开发人员的未命名模块。

当我把Maven依赖放在模块路径中,即.classpath我有 Eclipse

<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 保留 <attribute name="module" value="true"/>在“Maven -> 更新项目...”上。

(Eclipse 版本为 2020-03)

最佳答案

我在我的 pom.xml 中使用它:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<release>${java.version}</release>
<fork>true</fork>
<showWarnings>true</showWarnings>
<debug>true</debug>
<debuglevel>source,lines</debuglevel>
<verbose>true</verbose>
<modulePath>
<dependency>org.apache.logging.log4j:log4j-api</dependency>
<dependency>org.apache.logging.log4j.core:log4j-core</dependency>
... etc ...
</modulePath>
</configuration>
</plugin>
但是,不幸的是,一些 modulePath > dependency工作正常,其他人没有。

关于java - Eclipse 为什么以及何时将 Maven 依赖项放在 CLASSPATH 中而不是 MODULEPATH 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62038751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com