首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jacoco-maven-plugin导致站点插件在多模块项目中失败。

jacoco-maven-plugin导致站点插件在多模块项目中失败。
EN

Stack Overflow用户
提问于 2014-05-29 06:45:08
回答 1查看 4.5K关注 0票数 1

上一次我决定将Cobertura插件替换为项目中的JaCoCo插件。

其中之一是具有模块间依赖关系的多模块项目:

代码语言:javascript
复制
*-- pl.chilldev.commons
    |-- commons-concurrent
    |-- commons-daemon
    `-- commons-exception

问题是commons-daemon依赖于commons-exception

我通过以下方式配置了jacoco-maven-plugin

代码语言:javascript
复制
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.1.201405082137</version>
            <executions>
                <execution>
                    <id>jacoco-prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>jacoco-report</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

所有操作都正常,测试运行,但是site目标失败:

代码语言:javascript
复制
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project commons: failed to get report for org.apache.maven.plugins:maven-javadoc-plugin: Failed to execute goal on project commons-daemon: Could not resolve dependencies for project pl.chilldev.commons:commons-daemon:jar:0.0.3-SNAPSHOT: Could not find artifact pl.chilldev.commons:commons-exception:jar:0.0.3-SNAPSHOT -> [Help 1]

没有jacoco-maven-plugin,一切都很好,即使对于site目标也是如此。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 17:48:13

设法让它发挥作用。问题是,默认情况下,prepare-agent目标绑定到initialize阶段,这意味着所有东西都将使用JaCoCo java代理执行,该代理可能无法在由Maven计算类路径之前解析类路径(我只是假设,我不知道内部消息)。

增加:

代码语言:javascript
复制
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.1.201405082137</version>
            <executions>
                <execution>
                    <phase>process-test-classes</phase>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

修好了。

顺便说一句,也不需要将report目标添加到执行列表中,我认为将其添加到报告插件中更正确。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23927329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档