文档首页 > > 用户指南> 构建步骤> Maven构建>

配置发布依赖包到私有依赖库

配置发布依赖包到私有依赖库

分享
更新时间:2021/06/24 GMT+08:00

背景信息

编译构建服务默认配置私有依赖库作为私有依赖下载源,用户可通过手工上传或Maven构建方式将依赖上传到私有依赖仓库,如果需要将构建产物上传至私有依赖库,则需要添加此配置。

  • 软件发布库主要用于归档用以部署或其他用途的软件包。
  • 私有依赖库主要用于存储供其他项目依赖的工具包等。

使用时要务必注意区分,避免出现如“将依赖上传到软件发布库但是构建时无法下载”此类场景。

操作步骤

  1. 创建私有依赖库(如果已经创建,请忽略该步骤)。
  2. “pom.xml”文件配置私有依赖坐标信息(groupId、artifactId、version)。

    修改准备构建的私有依赖项目,pom文件中指定坐标为:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    <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/maven-v4_0_0.xsd"> 
        <modelVersion>4.0.0</modelVersion> 
        <groupId>come.test.demo</groupId> 
        <artifactId>deploy</artifactId> 
        <packaging>jar</packaging> 
        <version>1.0.0</version> 
        <name>maven_demo</name> 
        <url>http://maven.apache.org</url> 
        <dependencies> 
            <dependency> 
                <groupId>junit</groupId> 
                <artifactId>junit</artifactId> 
                <version>3.8.1</version> 
                <scope>test</scope> 
            </dependency> 
        </dependencies>
    
    该配置下,上传私有依赖库成功后,生成依赖的引用坐标为:
    1
    2
    3
    4
    5
    <dependency>
        <groupId>com.test.demo</groupId>
        <artifactId>javaMavenDemo</artifactId>
        <version>1.0</version>
    </dependency>
    

  3. 新建Maven构建任务,在“Maven构建”配置页面,展开“发布依赖包到私有依赖库”,选择“配置所有pom”

    • 不配置pom:表示无需发布私有依赖包。
    • 配置所有pom:表示在项目下所有POM文件增加deploy配置,使用mvn deploy将构建出的依赖包上传到私有依赖仓库。

  4. 在命令窗口,使用“#”注释掉第8行的默认命令,并删除第18行命令前的“#”

  5. 配置完成后执行构建任务。执行成功后即可将依赖包发布到私有依赖库。
  6. 执行成功后,进入DevCloud首页,单击顶部导航栏服务 > 私有依赖库,进入私有依赖库,搜索并查看上传的依赖。

    上传成功后,在其他项目添加如下坐标即可引用。
    1
    2
    3
    4
    5
    <dependency>
        <groupId>com.test.demo</groupId>
        <artifactId>javaMavenDemo</artifactId>
        <version>1.0</version>
    </dependency>
    

    私有依赖仓库分为release仓库和snapshot仓库,两种仓库对应的使用场景为:

    • 对于以调试为目的发布的私有依赖包,一般会给依赖版本号增加-SNAPSHOT后缀(如:1.0.0-SNAPSHOT),执行发布操作时,此类依赖会自动发布到snapshot仓库,发布时无需更新版本号,构建命令中增加-U参数即可拉取最新版本。
    • 对于正式发布的私有依赖包,版本号中不可带-SNAPSHOT后缀(如:1.0.0),执行发布操作时,此类依赖会自动发布到release仓库,发布时必须更新版本号,否则会导致构建过程无法拉取最新依赖包。

分享:

    相关文档

    相关产品