gpt4 book ai didi

maven - Java 11 Eclipse 找到自动模块,Maven 没有

转载 作者:行者123 更新时间:2023-12-05 04:01:33 24 4
gpt4 key购买 nike

我正在尝试将一个已有 15 年历史的 Maven 多模块项目升级到 Java 11,以及 Java 9 中引入的模块系统。由于该项目是使用 Maven 构建的,因此所有依赖项都非常清楚。首先,我想使用自动模块名称来执行此操作,以免引入升级的 Artifact (如果不是绝对需要的话)。

Eclipse 在此过程中非常有用,它会自动完成 module-info.java 中的自动模块名称。例如:

requires dom4j;

但是,如果我使用 Maven 进行编译,我会收到有关它无法在其中找到刚刚自动完成的 Eclipse 模块的错误。

module-info.java:[29,18] module not found: dom4j

我正在使用 Maven 的编译器插件 3.7.0(3.8.0 根据 https://jira.apache.org/jira/browse/MCOMPILER-355 给出 NullPointerException)我怀疑 Maven 是在类路径而不是模块路径上设置 jars,但是编译器的插件调试输出没有记录那个。

如何让 Maven 正确处理这些模块?

最佳答案

我遇到了同样的问题。添加

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
</plugins>
</build>

我的 pom 为我解决了这个问题......

Maven 版本 3.9.0 似乎有问题并且无法找到模块,尽管依赖项使用的是自动模块名称。降级到版本 3.8.1 有帮助。

关于maven - Java 11 Eclipse 找到自动模块,Maven 没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55256736/

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