maven配置nexus私服详解

maven配置nexus私服详解

简介:

前提是已经搭建好了私服,我们需要在本地maven中配置相关参数,连接私服作为仓库;

配置步骤

1、本地maven settings.xml配置

1.1配置本地仓库位置

本地仓库配置,建议配置在.m2文件夹下

xml 复制代码
 <localRepository>C:\Users\lele\.m2\repository</localRepository>

1.2 server配置

主要为使用的ID单独配置账号密码;

这个id标签的名字自定义唯一即可,在后面的步骤中为使用到。

xml 复制代码
  <servers>
    <!-- 设置maven-releases的账号密码(id与项目POM中的distributionManagement元素id必须一样) -->
    <server> 
    <id>maven-releases</id> 
    <username>your-username</username> 
    <password>your-password</password> 
    </server> 
  <!-- 设置maven-snapshots的账号密码(id与项目POM中的distributionManagement元素id必须一样) -->
    <server> 
    <id>maven-snapshots</id> 
    <username>your-username</username> 
    <password>your-password</password> 
    </server>  
  <!-- 设置maven-central的账号密码 -->
    <server> 
    <id>maven-public</id> 
    <username>your-username</username> 
    <password>your-password</password> 
    </server> 
  </servers>
  

1.3 镜像配置

<id>标签:要和上一步 标签中配置的一致;这样去连接镜像时才能获取到通过账号密码连接;

<name>标签:名称自定义
<url>标签: 私服中maven-public的地址
<mirrorOf>标签: 指定为 central

xml 复制代码
  <mirrors>
    <!-- 镜像配置 -->
    <mirror>
      <id>maven-public</id>
      <name>maven-public</name> 
      <url>http://ip:host/repository/maven-public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

1.4 私服仓库配置

xml 复制代码
<profiles>
  <profile>
    <!-- 私服id -->
    <id>Nexus</id>
       <repositories>
         <repository>
          <id>maven-public</id>
          <url>http://ip:host/repository/maven-public/</url>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>true</enabled></releases>
         </repository>
       </repositories>
             <!--指定插件下载地址-->
      <pluginRepositories>
        <pluginRepository>
            <id>maven-public</id>
            <url>http://ip:host/repository/maven-public/</url>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>true</enabled></releases>
        </pluginRepository>
      </pluginRepositories>   
     </profile>
  </profiles>
 <!--启动私服仓库 -->
  <activeProfiles>
    <activeProfile>Nexus</activeProfile>
  </activeProfiles>

2、maven项目pom.xml配置

自动提交jar进私服,pom.xml文件中添加
id 要和setting.xml中配置的一致

xml 复制代码
    <!--私服配置-->
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <url>http://ip:host/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <url>http://ip:host/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

运行mvn deploy即会提交jar进私服仓库。

完整配置模板

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
 
  <!--配置本地仓库地址-->
  <localRepository>C:\Users\lele\.m2\repository</localRepository>

  
  <pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
  </pluginGroups>

  <!-- proxies
   | This is a list of proxies which can be used on this machine to connect to the network.
   | Unless otherwise specified (by system property or command-line switch), the first proxy
   | specification in this list marked as active will be used.
   |-->
  <proxies>

  </proxies>
<!--配置账号-->
  <servers>
   <!-- 设置maven-releases的账号密码(id与项目POM中的distributionManagement元素id必须一样) -->
    <server> 
    <id>maven-releases</id> 
    <username>your-username</username> 
    <password>your_password</password> 
    </server> 
  <!-- 设置maven-snapshots的账号密码(id与项目POM中的distributionManagement元素id必须一样) -->
    <server> 
    <id>maven-snapshots</id> 
    <username>your-username</username> 
    <password>your_password</password> 
    </server>  
  <!-- 设置maven-public的账号密码 -->
    <server> 
    <id>maven-public</id> 
    <username>your-username</username> 
    <password>your_password</password> 
    </server> 
  </servers>
  
  <mirrors>
    <!-- 私服镜像配置 -->
    <mirror>
      <id>maven-public</id>
      <name>maven-public</name> 
      <url>http://ip:host/repository/maven-public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

<profiles>
  <profile>
    <!-- 私服id -->
    <id>Nexus</id>
      <!--指定仓库下载地址-->
      <repositories>
         <repository>
            <id>maven-public</id>
            <url>http://ip:host/repository/maven-public/</url>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>true</enabled></releases>
         </repository>
      </repositories>

      <!--指定插件下载地址-->
      <pluginRepositories>
        <pluginRepository>
            <id>maven-public</id>
            <url>http://ip:host/repository/maven-public/</url>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>true</enabled></releases>
        </pluginRepository>
      </pluginRepositories>      
  </profile>
</profiles>
<!--激活环境配置-->
  <activeProfiles>
    <activeProfile>Nexus</activeProfile>
  </activeProfiles>
</settings>

maven标签 与详解

maven将源码包和jar一起打包并上传到私服

相关推荐
SL_staff8 小时前
别急着买商业规则引擎:90%风控场景根本不需要全量编码能力
java·程序员·groovy
ManageEngineITSM8 小时前
DevOps和ITIL是什么关系?是替代还是互补一文讲清
java·服务器·资产管理·变更管理
SL_staff9 小时前
ERP排程总在纸上谈兵?JVS-APS如何用真实产能约束打通计划与执行闭环
java·人工智能·开源
xcl09259 小时前
24小时自助健身房系统软件开发实战指南:从架构到部署
java·spring boot
码少女9 小时前
Linux--多路转接之select
java·服务器·数据库
nvvas10 小时前
Java 入门(四):数组——数据的集合管理
java·开发语言
Lambert28111 小时前
AgentScope Java 从零(07):官方有权限引擎,我却在工具里写了个 if
java·后端·ai编程
Kyrie_kk11 小时前
Java--ThreadLocal线程副本(一)
java·后端
君顾111 小时前
本地城市低空经济管理系统定制:城市级低空运营平台架构与落地实战
java·开发语言·飞手
奈斯先生Vector11 小时前
当模型版本不断变化,RelayRouter 能否帮助 AI 应用摆脱深度绑定
android·java·人工智能·开源·aigc