我们的源代码仍然符合Java 8,但是我们有两种不同的构建:一种是使用JDK 11和module-info.java
构建的。还有一个带有JDK 8而没有module-info.java
的。使用Maven,可以很容易地对不同的配置文件进行两项操作。对于JDK 8概要文件,排除module-info.java
:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
...
<excludes>
<exclude>module-info.java</exclude>
</excludes>
</configuration>
</plugin>
将此项目导入Netbeans 11并激活正确的配置文件后,excludes
的maven配置将被忽略。
答案 0 :(得分:1)
使排除成为基本配置的一部分。
<pluginManagement>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
...
<excludes>
<exclude>**/module-info.java</exclude>
</excludes>
</configuration>
</plugin>
并在Java-11个人资料中覆盖排除项
<profile>
<id>java-11</id>
<pluginManagement>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes combine.self="override"/>
</configuration>
</plugin>
答案 1 :(得分:1)
万一有人偶然发现了这个问题,我在这里指出了为什么(可能)行不通:
Migrating maven project to modules - ignore module-info.java