gpt4 book ai didi

maven - 如何从命令行覆盖 `project.build.finalName` Maven 属性?

转载 作者:行者123 更新时间:2023-12-03 05:17:19 25 4
gpt4 key购买 nike

我有以下由 Maven 3.0.4 运行的普通 pom。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>test</artifactId>
<version>1.0</version>
<packaging>jar</packaging>

</project>

我正在尝试覆盖命令行中的默认设置,如下所示:

mvn -Dproject.build.finalName=build clean package

但是这个被忽略了,我得到了test-1.0.jar。我尝试更改其他属性,例如 outputDirectory、directory、artifactId,但也失败了。

做这件事的正确方法是什么?

最佳答案

参见Introduction to the POM

finalName 创建为:

<build>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>

解决方案之一是添加自己的属性:

<properties>
<finalName>${project.artifactId}-${project.version}</finalName>
</properties>
<build>
<finalName>${finalName}</finalName>
</build>

现在尝试:

mvn -DfinalName=构建干净的包

关于maven - 如何从命令行覆盖 `project.build.finalName` Maven 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13876165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com