我们使用Maven构建工程的过程中,总会使用maven deployed命令将代码发布到公共仓或者私有仓上面。我们公司在实践过程中使用的是发布到私有仓上面。

single工程部署

  • 因为独个仓库没有父工程,所以不用上传父工程结构。
  • 直接mvn build 打包,然后deploy到远程自建仓库。

pom.xml 文件配置:

<properties>         
    <maven.deploy.skip>false</maven.deploy.skip>  
</properties>

子module部署

在该子module的父工程接结构:

<properties>         
<maven.deploy.skip>false</maven.deploy.skip>  
</properties>

引用maven自建仓库

<dependency> 
     <groupId>cn.dasyun</groupId> 
     <artifactId>async-sdk</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <scope>compile</scope> 
 </dependency>

如果该子module不需要上传到到maven仓库,则需要显示配置:

<properties> 
        <maven.deploy.skip>true</maven.deploy.skip> 
 </properties>

即显式跳过部署。

配置目标仓库地址

除了在pom.xml 声明打包约束,还需要在pom.xml中配置目标仓库地址。

在父工程的pom.xml 配置distributionManagement属性:

<distributionManagement>
        <repository>
            <id>xxx-maven-release</id>
            <name>xxx-maven-release</name>
            <url>http://maven.xxx.cn/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>xxx-maven-snapshots</id>
            <name>xxx-maven-snapshots</name>
            <url>http://maven.xxx.cn/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

至此,deploy 所有步骤已经完成。