有没有办法让多模块 Maven 项目列出它部署的工件的 group/artifact ID?
Is there a way to have a multi-module maven project list the group/artifact IDs of the artifacts it deploys?
我正在整理通用脚本以支持许多不同 Maven 项目(其中许多是多模块项目)的 CI 管道。
我想编写一个 Bash 脚本来编目由任何给定构建部署的组 ID、工件 ID 和工件 (JAR/WAR)。但是,我很难弄清楚如何以一种万无一失的方式获取这些信息。
maven 是否支持检索此信息?
您可以利用maven-deploy-plugin
的日志。
要获取 artifactId,请使用此行:
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ artifact-id ---
其他内容:
[INFO] Uploaded: path-to-artifactory/group-id-path/artifact-name/path-to-jar-artifact/artifact.jar
path-to-artifactory
在所有情况下保持不变。因为你也知道artifact-name
,所以你可以得到group-id-path
。然后用 .
替换 /
或 \
(无论文件分隔符是什么)。例如,com/company/something/group1
将为您提供 groupId 作为 com.company.something.group1
.
并且您还将知道上传文件的名称及其相对于工件位置的位置 path-to-jar-artifact
。
我正在整理通用脚本以支持许多不同 Maven 项目(其中许多是多模块项目)的 CI 管道。
我想编写一个 Bash 脚本来编目由任何给定构建部署的组 ID、工件 ID 和工件 (JAR/WAR)。但是,我很难弄清楚如何以一种万无一失的方式获取这些信息。
maven 是否支持检索此信息?
您可以利用maven-deploy-plugin
的日志。
要获取 artifactId,请使用此行:
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ artifact-id ---
其他内容:
[INFO] Uploaded: path-to-artifactory/group-id-path/artifact-name/path-to-jar-artifact/artifact.jar
path-to-artifactory
在所有情况下保持不变。因为你也知道artifact-name
,所以你可以得到group-id-path
。然后用 .
替换 /
或 \
(无论文件分隔符是什么)。例如,com/company/something/group1
将为您提供 groupId 作为 com.company.something.group1
.
并且您还将知道上传文件的名称及其相对于工件位置的位置 path-to-jar-artifact
。