我有一个多模块 Maven 项目:
main-application
additional-module
- 取决于 main-application
我正在使用
maven-jar-plugin
在构建 main-application
期间根据某个目录的内容编译其他 JAR 文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>additional-jar</id>
<phase>test-compile</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<testClassesDirectory>${project.build.directory}/extra-classes-input</testClassesDirectory>
<outputDirectory>${project.build.directory}/extra-classes-output</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
当我
clean test-compile
项目时,我在additional-module
中收到编译错误,在main-application
中找不到任何测试范围的类:
package com.main.application
不存在cannot find symbol
在 additional-module
的测试类中引用 main-application
的测试中的任何内容更具体地说,
testClassesDirectory
的maven-jar-plugin
属性是编译失败和成功之间的拐点:
我正在尝试编译一个包含extra-classes-input
代码的
附加JAR,但看起来我正在修改
additional-module
尝试访问的测试类。
我不希望类路径上有额外 JAR 的任何内容,因此我无法为我想要构建的 JAR 添加其他模块。
我可能做错了什么?
因为我没有指定不同的
classifier
,所以输出会相互覆盖 - 我错过了一个警告。