Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从命令行重写pom pluginManagement中定义的Maven插件配置_Java_Maven 2_Maven_Maven Release Plugin - Fatal编程技术网

Java 从命令行重写pom pluginManagement中定义的Maven插件配置

Java 从命令行重写pom pluginManagement中定义的Maven插件配置,java,maven-2,maven,maven-release-plugin,Java,Maven 2,Maven,Maven Release Plugin,我的项目继承的POM包含一些,用于发行版插件,该插件指定了一些额外的参数 我的问题是:在这种情况下,有没有办法从命令行重写参数参数 父POM具有以下特性: <pluginManagement> <plugin> <artifactId>maven-release-plugin</artifactId> <configuration> <arguments>-Pr

我的项目继承的POM包含一些
,用于
发行版
插件,该插件指定了一些额外的
参数

我的问题是:在这种情况下,有没有办法从命令行重写
参数
参数

父POM具有以下特性:

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>-Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>
-Darguments=“-Pmock-prelese”
部分无效。如果尚未指定
参数
,则它可以工作

我无法修改或不使用父POM。

找到了解决方案。在我的POM中,我添加了这个选项,它覆盖父POM中的设置,并允许在命令行上指定其他参数,例如
-Darguments=-Pmock

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>${arguments} -Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>

maven发布插件
${arguments}-预释放

无法覆盖POM中已设置的配置(请参阅)。您可以使用变量来避免这种行为。您的答案片段利用了它。

更新了MNG-4979的链接:
<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>${arguments} -Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>