当我使用 Maven 2 使用命令来检测我的类时
mvn cobertura:instrument
输出(检测的类)放入\target\generated-classes 中。有没有办法将输出位置更改为\target\classes?
我检查了 cobertura-maven 插件的检测任务,但这到目前为止还没有给我一个解决方案。
最佳答案
您还没有说明为什么要覆盖默认位置,但我认为您可以使用其他项目中的检测类,或者将它们包含在网络存档或类似的内容中。
我将以下内容添加到我的 pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>instrumented-classes</id>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
<configuration>
<classifier>instrumented</classifier>
<classesDirectory>${project.build.directory}/generated-classes/cobertura</classesDirectory>
</configuration>
</execution>
</executions>
</plugin>
这使得maven生成一个名为projectname-instrumented.jar的额外jar文件
然后可以使用
从任何其他 pom(包括例如 Web 模块)依赖此 jar 文件<depends>
<group>mygroup</group>
<project>projectname</project>
<version>1</version>
<classifier>instrumented</classifier>
</depends>
我没有 100% 测试这一点,但过去使用过类似的机制
关于java - 如何更改 Maven 2/Cobertura 工具目标的默认输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2026685/