【发布时间】:2019-09-18 21:44:36
【问题描述】:
我们有一组 Java 模块项目(使用 JDK11)。
我们的集成测试有一个单独的项目。该项目需要能够访问主应用程序项目以运行其测试,但我们不想将导出添加到主应用程序模块,因为它仅在我们运行测试时需要。
解决方案是在我们的集成测试项目中使用 compilerArgs 添加导出:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>${java.version}</release>
<parameters>true</parameters>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>--add-exports</arg>
<arg>com.example.application/com.example.application=com.example.integration_tests</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
这适用于命令行mvn clean install。但遗憾的是它不适用于日食。
无论出于何种原因,eclipse 都会忽略这些 compilerArgs 并不断给出主应用程序类不可访问的错误。
有没有办法强制eclipse使用这些compilerArgs?或者这是 Eclipse 尚未涵盖的模块系统的某些方面?
【问题讨论】:
标签: java eclipse maven java-module maven-compiler-plugin