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一起打包并上传到私服

相关推荐
2601_962106644 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
RuoyiOffice5 小时前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
2601_962106645 小时前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查
java
杨凯凡6 小时前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略
java·rest api·springframework·spring boot 4·api版本管理
T_Wizard6 小时前
同一个问题写了 4 遍:官方 SDK / HTTP / Spring AI / LangChain4j,到底该选哪个
java·ai编程
hai_android6 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
斯维赤7 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
aiks_yuan9 小时前
Java CPU 100% 怎么排查:JDK 11 起 jstack 自带线程 CPU 时间,不用再 top -H 换算十六进制(JDK 8、11、17 实测)
java
Flynn Liang11 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices
Flynn Liang11 小时前
LangChain4j 1.23 架构全景:Java 大模型应用的 6 层抽象
java·langchain·大模型·rag·ai agent·langchain4j