【发布时间】:2015-07-24 15:18:33
【问题描述】:
我的settings.xml 文件中有两个配置文件(gsi-repos 和my-repos),gsi-repos 是默认的活动配置文件。
如何在我的一些 maven 项目中激活配置文件 my-repos?这可以在我的项目pom.xml 中完成吗?
settings.xml
<profiles>
<profile>
<id>gsi-repos</id>
<repositories>
<repository>
<id>cp-releases</id>
<name>CP Releases</name>
<url>http://org.release-server.com/nexus/content/repositories/cp-releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>my-repos</id>
<repositories>
<repository>
<id>my-releases</id>
<name>My Releases</name>
<url>http://my.release-server.com/nexus/content/repositories/releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>gsi-repos</activeProfile>
</activeProfiles>
【问题讨论】:
-
mvn -Pprofile ...但这看起来不对。通常您应该只有一个发布存储库...最好在 nexus 中配置一个公共组,而不是不同的存储库。 -
您是否通过 CI 服务器(Jenkins、TeamCity、Bamboo)发布?因此,您可以创建不同的 settings.xml 文件并根据构建选择使用哪一个。另一种方法是将发布 url 配置为属性,项目将在其 distributionManagement 部分中使用它们的财产权。
-
@khmarbaise - 我同意应该有一个单一的发布存储库。我使用两个不同的发布存储库的原因是,一个是我公司的,另一个是我的个人仓库,我用它来发布我的个人项目。我还在我的另一台 Windows 机器上专门安装了 Nexus 存储库管理器,它与我公司的 Nexus 存储库管理器不同。我不想将我的个人项目发布和发布到我公司的存储库中。
-
@wemu - 不,我不使用 CI 服务器。您能否提供一些代码 sn-p 以及如何做到这一点?
标签: maven