gpt4 book ai didi

java - Maven - 在构建之前更新artifactId

转载 作者:行者123 更新时间:2023-12-01 06:21:46 24 4
gpt4 key购买 nike

我需要将我的项目部署到artifactory中。为此,我将 maven-assemble-plugin 与 artifactory-maven-plugin 一起使用

只有我可以使用这个CMD来构建mvn(可能有小的更新):

mvn -e -B -U clean deploy -DskipIntegrationTests=false -DskipCoverageReport=false  -Dservice_name=sample_service

我在 mvn 命令中不能做的是更新服务名称。它始终是“sample_service”或代表服务名称的其他常量

因为我不知道服务名称(可能有更多服务),所以我的 pom.xml 的基础部分如下所示(artifactId 是从属性 service_name 动态创建的):

    <groupId>my.group.id</groupId>
<artifactId>${service_name}</artifactId>
<version>2.0.0-SNAPSHOT</version>

问题在于参数 -Dservice_name 始终包含“下划线”。由于约定, Artifact 必须由“破折号”而不是“下划线”组成。

有什么办法(例如一些插件)我可以做这样的事情吗?

    <groupId>my.group.id</groupId>
<artifactId>${service_name}.replaceAll("_","-")</artifactId>
<version>2.0.0-SNAPSHOT</version>

简而言之,在构建 Artifact 之前,我需要将属性 service_name 替换为破折号。

感谢您的回答。

最佳答案

这是不可能的。

<artifactId> 内部使用的属性只能通过命令行设置。您没有机会在 Maven 中操纵它们。我看到的唯一机会是更改命令行,以便您在将参数发送到 Maven 之前进行替换。

关于java - Maven - 在构建之前更新artifactId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56735574/

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