Maven配置中repositories、distributionManagement、pluginRepositories详解

本文详细介绍了Maven项目的仓库配置,包括repositorie、distributionManagement和pluginRepositories等结构的使用方法,以及如何设置本地和远程仓库,还提供了常用命令及阿里云、中央仓库的地址。

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

1. repositorie 结构说明
repositorie 表示下载项目依赖库文件的maven仓库地址

<repositories>
  <repository>
      <!-- 仓库ID -->
      <id>nexus</id>
      <!-- 仓库名称 -->
      <name>Nexus</name>
      <!-- 仓库地址 -->
      <url>http://192.168.1.x:xxxx/repository/maven-public/</url>
      <!-- 仓库中版本为releases的构件 -->
      <releases>
          <!-- 是否支持更新-->
          <enabled>true</enabled>
          <!-- 构件更新的策略,可选值有daily, always, never, interval:X(其中的X是一个数字,表示间隔的时间,单位min),默认为daily-->
          <updatePolicy>always</updatePolicy>  
          <!-- 校验码异常的策略,可选值有ignore, fail, warn -->
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
       <!-- 仓库版本为snapshots的构件-->
      <snapshots>
           <!-- 是否支持更新-->
          <enabled>true</enabled>  
          <!-- 同上 -->
          <updatePolicy>always</updatePolicy>  
          <!-- 同上 -->
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </repository>
</repositories>

如果是公司本地仓库,而且需要认证才能访问,需要在本地maven的conf\settings.xml文件中添加如下配置内容

<servers>  
    <server>  
        <id>nexus</id>  
        <username>admin</username>  
        <password>admin</password>  
     </server> 
</servers>

2. distributionManagement 结构说明
distributionManagement 表示项目打包成库文件后要上传到仓库地址

<distributionManagement>
    <!-- 正式版本 -->
    <repository>
        <uniqueVersion>false</uniqueVersion>
         <!-- nexus服务器中用户名(settings.xml中<server>的id)-->
        <id>releases</id>
         <!-- 自定义名称 -->
        <name>Releases Repository</name>
        <url>http://192.168.1.x:xxxx/repository/maven-releases/</url>
        <layout>default</layout>
    </repository>
    <!-- 快照 -->
    <snapshotRepository>
        <uniqueVersion>true</uniqueVersion>
        <id>snapshots</id>
        <name>Snapshots Repository</name>
        <url>http://192.168.1.x:xxxx/repository/maven-snapshots/</url>
        <layout>legacy</layout>
    </snapshotRepository>
</distributionManagement>

如果是公司本地仓库,而且需要认证才能访问,也需要在本地maven的conf\settings.xml文件中添加如下配置内容(< repository >节点下的< id >对应setting.xml文件中的server的id)

<servers>  
    <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>admin</password>  
     </server>  
    <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin</password>  
    </server>  
</servers>

3. pluginRepositories 结构说明
pluginRepositories 表示插件的下载仓库地址,字段和用法与repositories中的repository基本一致

<pluginRepositories>
  <pluginRepository>
      <id>nexus</id>
      <name>Nexus</name>
      <url>http://192.168.1.x:xxxx/repository/maven-public/</url>
      <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
      <snapshots>
          <enabled>true</enabled>  
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </pluginRepository>
</pluginRepositories>

4. 常用的maven仓库命令
上传本地仓库

mvn install:install-file
-DgroupId=com.xxx
-DartifactId=xxx-sdk
-Dversion=1.0.0
-Dpackaging=jar
-Dfile=xxx-xxx-sdk-1.0.0.jar

参数说明
mvn install:install-file
-DgroupId=上面的groupId
-DartifactId=上面的artifactId
-Dversion=上面的version
-Dpackaging=jar
-Dfile=jar包的位置

上传远程仓库

mvn -X deploy:deploy-file
 -Dmaven.test.skip=true
 -DgroupId=XXX.XXX
 -DartifactId=XXX
 -Dversion=XXX 
 -Dpackaging=jar 
 -Dfile=XXX.jar  
 -DpomFile=pom.xml 
 -Durl=http://用户名:密码@远程私服仓库地址

阿里云仓库地址
https://maven.aliyun.com/mvn/guide
maven中央仓库地址
https://repo1.maven.org/maven2/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值