Maven远程依赖仓库的配置及部署

本文详细介绍了如何在Maven项目中配置远程仓库,包括公共仓库和私有仓库的配置,以及如何设置认证信息。此外,还讲解了如何通过编辑pom.xml文件配置distributionManagement元素来部署项目构件至远程仓库,以及使用deploy命令上传构件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置远程库

<repositories>

    <repository>

        <id>lifeng</id>

        <name>Lifengs Repository</name>

        <url>http://repository.jboss.com/maven2/</url>

        <releases>

            <enabled>true</enabled>

            <updatePolicy>daily</updatePolicy>

        </releases>

        <snapshots>

            <enabled>false</enabled>

            <checksumPolicy>warn</checksumPolicy>

        </snapshots>

        <layout>default</layout>

    </repository>

</repositories>

配置远程库认证(如果需要)

大部分公共的远程仓库无须认证就可以直接访问,但我们在平时的开发中往往会架设自己的Maven远程仓库,出于安全方面的考虑,我们需要提供认证信息才能访问这样的远程仓库。配置认证信息和配置远程仓库不同,远程仓库可以直接在pom.xml中配置,但是认证信息必须配置在settings.xml文件中。这是因为pom往往是被提交到代码仓库中供所有成员访问的,而settings.xml一般只存在于本机。因此,在settings.xml中配置认证信息更为安全。

<servers> 
    <server> 
        <id>lifeng</id> 
        <username>roy</username>
         <password>123456</password>
     </server> 
</servers>

部署构件至远程仓库

我们使用自己的远程仓库的目的就是在远程仓库中部署我们自己项目的构件以及一些无法从外部仓库直接获取的构件。这样才能在开发时,供其他对团队成员使用。Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构件部署到远程仓库中。首先,需要编辑项目的pom.xml文件。配置distributionManagement元素,代码如下:

<distributionManagement>

    <repository>

        <id>releases</id>

        <name>public</name>

        <url>http://59.50.95.66:8081/nexus/content/repositories/releases</url>

    </repository>

    <snapshotRepository>

        <id>snapshots</id>

        <name>Snapshots</name>

        <url>http://59.50.95.66:8081/nexus/content/repositories/snapshots</url>

    </snapshotRepository>

</distributionManagement>

repository和snapshotRepository子元素,前者表示发布版本(稳定版本)构件的仓库,后者表示快照版本(开发测试版本)的仓库。这两个元素都需要配置id、name和url,id为远程仓库的唯一标识,name是为了方便人阅读,关键的url表示该仓库的地址。

配置正确后,运行命令mvn clean deploy,Maven就会将项目构建输出的构件部署到配置对应的远程仓库,如果项目当前的版本是快照版本,则部署到快照版本的仓库地址,否则就部署到发布版本的仓库地址。

 

使用deploy命令上传

打开cmd命令提示符,mvn install是将jar包安装到本地库,mvn deploy是将jar包上传到远程server,install和deploy都会先自行bulid编译检查,如果确认jar包没有问题,可以使用-Dmaven.test.skip=true参数跳过编译和测试。 

全命令为:

mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:\MvnProject\service-mvn-1.0.0.jar -DgroupId=pri.roy.mvn.test -DartifactId=mvn-api -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -DrepositoryId=roy_privrepository_snapshots -Durl=http://10.4.71.144:9090/repository/roy_privrepository_snapshots/

各参数代表含义为:

-Dmaven.test.skip=true //跳过编译、测试 -Dfile=D:\MvnProject\service-mvn-1.0.0.jar //jar包文件地址,绝对路径 -DgroupId=pri.roy.mvn.test //gruopId--pom坐标,自定义 -DartifactId=mvn-api //artifactId--pom坐标,自定义 -Dversion //版本号 -Dpackaging //打包方式 -DrepositoryId //远程库服务器ID -Durl //远程库服务器地址

 

注意: 

命令只有一行,每个参数以空格间隔,pom文件会自动生成。 

如图出现success提示即为上传成功。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值