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

时间:2019-03-20 08:51:00

标签: maven java-module maven-compiler-plugin

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

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在类路径而不是在模块路径上设置了jar,但是编译器的插件调试输出不记录。

如何使Maven正确处理那些模块?

1 个答案:

答案 0 :(得分:1)

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

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

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