Java11 Eclipse 找到自动模块,Maven 没有
Java 11 Eclipse finds automatic module, Maven does not
我正在尝试将一个 15 年前的 Maven 多模块项目升级到 Java 11,以及 Java 9 中引入的模块系统。由于该项目是使用 Maven 构建的,所有依赖关系非常清楚。首先,我想使用自动模块名称来执行此操作,以免引入升级的工件(如果不是绝对需要的话)。
Eclipse 在此过程中非常有用,自动完成模块-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 似乎有问题并且无法找到该模块,尽管依赖项正在使用 Automatic-Module-Name。降级到版本 3.8.1 有帮助。
我正在尝试将一个 15 年前的 Maven 多模块项目升级到 Java 11,以及 Java 9 中引入的模块系统。由于该项目是使用 Maven 构建的,所有依赖关系非常清楚。首先,我想使用自动模块名称来执行此操作,以免引入升级的工件(如果不是绝对需要的话)。
Eclipse 在此过程中非常有用,自动完成模块-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 似乎有问题并且无法找到该模块,尽管依赖项正在使用 Automatic-Module-Name。降级到版本 3.8.1 有帮助。