我有使用 Maven 构建和发布的人工制品。artefact 的原始 pom.xml 包含通常的项目信息(artifactId、name 等)和依赖项。没关系。但是 pom.xml 还包含私有信息,例如 SCM URL、开发人员的名称或父级人工制品。
有什么方法可以告诉 Maven 生成一个经过清理的 pom.xml,以便可以将工件公开发布,而不会破坏依赖项等技术相关信息?
SCM URL、开发人员列表和父 pom(仅用于 DepMgmt 定义和其他元数据)的存在都与人工制品的用户无关,所以我认为我可以从发布 pom.xml
存储库管理器(如 Archiva)中的 pom.xml 和打包在人工制品的 jar 文件中的 pom.xml 都包含这些信息。我认为 Maven 只是在复制整个事情。
总结一下:
我有:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>my-artifact</artifactId>
<scm>
<connection>scm:svn:http://buildmachine/org.example/my-artifact/trunk</connection>
<developerConnection>scm:svn:http://buildmachine/org.example/my-artifact/trunk</developerConnection>
<url>http://buildmachine/org.example/my-artifact/trunk</url>
</scm>
<dependencies>
<dependency>
...
</dependency>
</dependencies>
我想:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>my-artifact</artifactId>
<dependencies>
<dependency>
...
</dependency>
</dependencies>