【发布时间】:2018-02-01 08:07:47
【问题描述】:
我们有一个随着时间的推移而改进的实用程序库。现在有这个想法也将这个库部署到另一个存储库。但是,由于某些限制,我们需要在此期间更改groupId(JAR 的内容不应更改)。
当前的pom.xml 如下所示:
<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.sjngm.common</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.5-SNAPSHOT</version>
<packaging>jar</packaging>
<distributionManagement>
<repository>
<id>ta</id>
<url>http://archiva.local/archiva/repository/ta/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<url>http://archiva.local/archiva/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- plenty of that -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<!-- ... -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<!-- ... -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- ... -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<!-- ... -->
</plugin>
</plugins>
</build>
</project>
新的groupId 可能类似于com.sjngmaway.common。
我注意到relocation,但我不明白如何将它用于我的任务:
- 这似乎是一次性的,但我们将同时使用它。
- 我可以把它放在同一个
pom.xml中吗?有个人资料什么的?至少<distributionManagement>是不同的。 - 如果应该是另一个
pom.xml,我应该在那里添加一个<dependency>吗?或者我可以参考或导入我当前的pom.xml吗?
或者这只是误导,我需要其他方法吗?
我该怎么做?
由于我不是 Maven 天才,如果你能从上面使用我的 sn-p 而不是仅仅用文字解释我能做什么,那就太好了 :) 谢谢! p>
【问题讨论】:
-
为什么不改变你项目中的 groupId 呢?除此之外,为什么不让其他人访问您已经存在工件的存储库管理器?
-
@khmarbaise 情况太复杂,无法用几句话来解释。你的想法当然是最好的选择。
标签: maven deployment