运行 Maven Release 时从命令行指定 Jacoco 版本

Posted

技术标签:

【中文标题】运行 Maven Release 时从命令行指定 Jacoco 版本【英文标题】:Specify Jacoco Version from Command Line when Running Maven Release 【发布时间】:2020-04-24 09:00:14 【问题描述】:

我需要在运行以下命令时从命令行指定 jacoco 依赖/插件版本:

mvn release:prepare release:perform ...options... [JACOCO VERSION]

基本上,我希望所有项目都使用相同的 jacoco 版本构建,尽管它们的 pom 中存在任何版本。

有没有办法通过 cli 做到这一点?我在指定 jacoco 准备代理时看到了这样做的示例,但我想指定实际的 jacoco-maven-plugin 插件版本。

【问题讨论】:

【参考方案1】:

您可以在properties 中定义版本并从命令行设置值。

例如,

    <properties>
        <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
    </properties>
   <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>$jacoco-maven-plugin.version</version>
            </plugin>
        </plugins>
    </build>

在命令行中,指定新的属性值。

mvn -Djacoco-maven-plugin.version=0.8.5

也可以通过运行验证pom是否有效

mvn -Djacoco-maven-plugin.version=0.8.5 help:effective-pom

【讨论】:

太棒了!正是我在互联网上搜索但找不到的内容。

以上是关于运行 Maven Release 时从命令行指定 Jacoco 版本的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse 中运行 maven-release-plugin 时没有版本提示

Spring Boot 在命令行指定主类启动程序

Maven命令行窗口指定settings.xml

Maven - 命令集总结,Maven 命令行的各种用法

在 Maven 中发布时的私有构建信息(db 等)?

简化bash脚本,以sudo身份运行时从命令中提取第一个单词