2013-07-05 30 views
0

当前在我的项目中,我通过提供分发管理将工件部署到中央存储库。将工件部署到两个不同的存储库

我的要求是当我的pom版本有1.0-SNAPSHOT-它应该被部署到libs-snapshot,当我的pom版本只有1.0版本时,它应该被部署到libs-release。

基本上,它应该根据我提供的版本进行部署,无论是否提供快照和相应的存储库。

请帮助我如何配置将我的maven项目部署到两个不同的存储库并在settings.xml中进行配置。

在此先感谢

回答

1

您可以在分配管理部分指定两个存储库。一个用于发布,另一个用于快照。根据您的版本号,应该使用相应的存储库进行分发。

您不能在settings.xml中配置此设置,您必须在pom.xml中配置它。从POM Reference - Distribution_Management section,在那里你可以找到更多关于它的信息采取See this link

<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"> 
    ... 
    <distributionManagement> 
    <repository> 
     <uniqueVersion>false</uniqueVersion> 
     <id>corp1</id> 
     <name>Corporate Repository</name> 
     <url>scp://repo/maven2</url> 
     <layout>default</layout> 
    </repository> 
    <snapshotRepository> 
     <uniqueVersion>true</uniqueVersion> 
     <id>propSnap</id> 
     <name>Propellors Snapshots</name> 
     <url>sftp://propellers.net/maven</url> 
     <layout>legacy</layout> 
    </snapshotRepository> 
    ... 
    </distributionManagement> 
    ... 
</project> 

例。

如果您想共享多个项目的分销管理部分,this answer展示了一种通过使用pom打包的父项目来指定其全公司范围的方法。

相关问题