java - 如何更改 Maven 2/Cobertura 工具目标的默认输出?

标签 java testing maven-2 code-coverage cobertura

当我使用 Maven 2 使用命令来检测我的类时

mvn cobertura:instrument

输出(检测的类)放入\t​​arget\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/

相关文章:

java - 如何使用 while 循环找到最大整数 (n),使得 n^3 < 12,000

java - 根据从 UI 传递的 token 在服务器端断开 Websocket

testing - 使用 webdriver 上传文件

java - 编写 Maven2 站点插件时获取站点资源列表的最佳方法是什么?

maven-2 - 我可以使用 maven 查找但不下载最新版本的依赖项吗?

maven-2 - 为什么版本匹配在 Maven 中不起作用?

Java 代码不允许使用我的变量

java - 对角线上的矩阵元素

java - CriteriaQuery 返回 nullpointerexception mockito

delphi - 在不修改源代码的情况下检查 Delphi 控件对象