`
gzynsoft
  • 浏览: 6924 次
社区版块
存档分类
最新评论

Maven项目使用Nexus作为远程仓库的settings.xml配置

 
阅读更多

让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库;另一种是通过修改maven的配置文件settings.xml进行更改,让所有项目都使用nexus仓库。

进入maven安装目录的conf文件夹打开,修改settings.xml文件。

1.服务器配置

[html] view plain copy
  1.   <server>    
  2.       <id>nexus-releases</id>    
  3.       <username>admin</username>    
  4.       <password>admin123</password>    
  5.     </server>    
  6.     <server>    
  7.       <id>nexus-snapshots</id>    
  8.       <username>admin</username>    
  9.       <password>admin123</password>    
  10.     </server>    
  11.   </servers>   

 

 

id:这是Server的ID(不是登录进来的user),与Maven想要连接上的repository/mirror中的id元素相匹配。

username,password:这两个元素成对出现,表示连接这个server需要验证username和password。在nexus中,默认管理员用户名为admin,密码为admin123。

这里使用两个服务器配置,分别对应release和snapshot。

 

2.镜像

 

 

[html] view plain copy
  1. <mirrors>     
  2.     <mirror>     
  3.       <id>nexus-releases</id>     
  4.       <mirrorOf>*</mirrorOf>     
  5.       <url>http://localhost:8081/nexus/content/groups/public</url>     
  6.     </mirror>    
  7.     <mirror>     
  8.       <id>nexus-snapshots</id>     
  9.       <mirrorOf>*</mirrorOf>     
  10.       <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>     
  11.     </mirror>     
  12.   </mirrors>     

 

 

id,name:唯一的镜像标识和用户友好的镜像名称。id被用来区分mirror元素,并且当连接时候被用来获得相应的证书。

mirrorOf:镜像所包含的仓库的Id。例如,指向Maven central仓库的镜像(http://repo1.maven.org/maven2/),设置这个元素为central。更多的高级映射例如repo1,repo2 或者*,!inhouse都是可以的。没必要一定和mirror的id相匹配。在这里mirrorOf项当然应该使用*,以表明是所有仓库都会被镜像到指定的地址。

url:镜像基本的URL,构建系统将使用这个URL来连接仓库。这里应该添nexus仓库的地址,地址可以在nexus仓库页面中找到。

 

3.配置

 

[html] view plain copy
  1. <profiles>    
  2.    <profile>    
  3.       <id>nexus</id>    
  4.       <repositories>    
  5.         <repository>    
  6.           <id>nexus-releases</id>    
  7.           <url>http://nexus-releases</url>    
  8.           <releases><enabled>true</enabled></releases>    
  9.           <snapshots><enabled>true</enabled></snapshots>    
  10.         </repository>    
  11.         <repository>    
  12.           <id>nexus-snapshots</id>    
  13.           <url>http://nexus-snapshots</url>    
  14.           <releases><enabled>true</enabled></releases>    
  15.           <snapshots><enabled>true</enabled></snapshots>    
  16.         </repository>    
  17.       </repositories>    
  18.       <pluginRepositories>    
  19.          <pluginRepository>    
  20.                 <id>nexus-releases</id>    
  21.                  <url>http://nexus-releases</url>    
  22.                  <releases><enabled>true</enabled></releases>    
  23.                  <snapshots><enabled>true</enabled></snapshots>    
  24.                </pluginRepository>    
  25.                <pluginRepository>    
  26.                  <id>nexus-snapshots</id>    
  27.                   <url>http://nexus-snapshots</url>    
  28.                 <releases><enabled>true</enabled></releases>    
  29.                  <snapshots><enabled>true</enabled></snapshots>    
  30.              </pluginRepository>    
  31.          </pluginRepositories>    
  32.     </profile>    
  33.   </profiles>    

 

 

profile项代表maven的基本配置。按照maven的一贯尿性,很多xml的配置项都会有一个配置项的复数形式作为父节点,以保证该配置项可以配置多个。在profiles项中,当然也可以配置多个profile,不过在这里配一个就够了。下面介绍profile项的各个子节点。

id:用来确定该profile的唯一标识。

repositories/repository:用以规定依赖包仓库的相关信息。在下属节点中,id就不用多说了;URL是指仓库地址,这里使用伪造的地址,否则即使设置了mirror,maven也有可能会直接从中央仓库下载包;releases和snapshots放在一块说吧,这两个节点下属的enable节点用以规定对应的依赖包是否对当前策略有效,假如将snapshot的enable项设为disable,则不会下载snapshot包,这两个节点还有updatePolicy,checksumPolicy和layout属性,这里就不多介绍了,有兴趣的查查文档吧。

pluginRepositories/pluginRepository:用以规定插件仓库的相关信息。其下属节点与repository的相同,不多说了。

4.当前启用配置

[html] view plain copy
  1. <activeProfiles>    
  2.       <activeProfile>nexus</activeProfile>    
  3.   </activeProfiles>    

用以规定当前启用的配置,将对应profile的ID加入到这一项即可使profile生效。
 

5.完整配置

 

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>    
  2. <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"     
  3.           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
  4.           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">    
  5.     
  6.   <pluginGroups></pluginGroups>    
  7.   <proxies></proxies>    
  8.     
  9.   <servers>    
  10.       <server>    
  11.       <id>nexus-releases</id>    
  12.       <username>admin</username>    
  13.       <password>admin123</password>    
  14.     </server>    
  15.     <server>    
  16.       <id>nexus-snapshots</id>    
  17.       <username>admin</username>    
  18.       <password>admin123</password>    
  19.     </server>    
  20.   </servers>    
  21.     
  22.   <mirrors>     
  23.     <mirror>     
  24.       <id>nexus-releases</id>     
  25.       <mirrorOf>*</mirrorOf>     
  26.       <url>http://localhost:8081/nexus/content/groups/public</url>     
  27.     </mirror>    
  28.     <mirror>     
  29.       <id>nexus-snapshots</id>     
  30.       <mirrorOf>*</mirrorOf>     
  31.       <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>     
  32.     </mirror>     
  33.   </mirrors>     
  34.      
  35.   <profiles>    
  36.    <profile>    
  37.       <id>nexus</id>    
  38.       <repositories>    
  39.         <repository>    
  40.           <id>nexus-releases</id>    
  41.           <url>http://nexus-releases</url>    
  42.           <releases><enabled>true</enabled></releases>    
  43.           <snapshots><enabled>true</enabled></snapshots>    
  44.         </repository>    
  45.         <repository>    
  46.           <id>nexus-snapshots</id>    
  47.           <url>http://nexus-snapshots</url>    
  48.           <releases><enabled>true</enabled></releases>    
  49.           <snapshots><enabled>true</enabled></snapshots>    
  50.         </repository>    
  51.       </repositories>    
  52.       <pluginRepositories>    
  53.          <pluginRepository>    
  54.                 <id>nexus-releases</id>    
  55.                  <url>http://nexus-releases</url>    
  56.                  <releases><enabled>true</enabled></releases>    
  57.                  <snapshots><enabled>true</enabled></snapshots>    
  58.                </pluginRepository>    
  59.                <pluginRepository>    
  60.                  <id>nexus-snapshots</id>    
  61.                   <url>http://nexus-snapshots</url>    
  62.                 <releases><enabled>true</enabled></releases>    
  63.                  <snapshots><enabled>true</enabled></snapshots>    
  64.              </pluginRepository>    
  65.          </pluginRepositories>    
  66.     </profile>    
  67.   </profiles>    
  68.     
  69.   <activeProfiles>    
  70.       <activeProfile>nexus</activeProfile>    
  71.   </activeProfiles>    
  72.      
  73. </settings>    
分享到:
评论

相关推荐

    阿里云镜像的mavensettings.xml配置文件直接替换使用

    3. **直接替换**:根据题目描述,你可以直接将下载的名为"阿里云镜像的mavensettings.xml配置文件直接替换使用"的文件替换现有的`$USER_HOME/.m2/settings.xml`。请注意,替换前请备份原有的`settings.xml`,...

    maven的settings.xml配置

    maven的settings.xml配置,提供maven包下载位置,刚刚maven仓库镜像仓库下载。 &lt;localRepository&gt;D:/develop/apache-maven-3.6.0/repository &lt;id&gt;alimaven &lt;name&gt;aliyun maven &lt;url&gt;...

    maven settings.xml配置文件的作用

    `settings.xml`是Maven构建工具的核心配置文件之一,它定义了Maven仓库的位置、镜像设置、本地仓库路径、用户特定的配置信息等。在Maven的工作流程中,`settings.xml`扮演着至关重要的角色,它使得Maven能够根据用户...

    Maven settings.xml配置理解

    Maven作为Java领域最流行的构建工具之一,它的核心配置文件`settings.xml`是理解Maven工作原理的关键。这篇博客文章“Maven settings.xml配置理解”深入探讨了这个主题,我们将在此详细阐述其主要内容。 `settings....

    maven的settings.xml文件

    在Java开发领域,Maven是一个广泛使用的构建工具,它通过XML配置管理项目的依赖、构建过程以及部署策略。`settings.xml`是Maven的核心配置文件之一,它位于用户的Maven配置目录下,通常在`~/.m2/`(对于Unix系统)或...

    国内开源中国镜像settings.xml配置

    标题中的“国内开源中国镜像settings.xml配置”指的是在开发环境中,为了加速访问国外的开源软件仓库,如Maven或Gradle,开发者通常会配置一个国内的开源镜像地址到`settings.xml`文件中。这个配置能有效提高依赖...

    maven私服(nexus)配置(setting,pom.xml)

    本文将详细介绍如何配置Maven以使用Nexus作为本地中央仓库,以及涉及的主要配置文件`settings.xml`和`pom.xml`。 **一、Nexus简介** Nexus是Sonatype公司提供的一款开源的Maven仓库管理器,它能够作为Maven的代理...

    flink的pom和settings.xml设置

    `pom.xml`管理项目依赖和构建过程,而`settings.xml`则提供Maven的个人配置。正确配置这两个文件,将确保你的Flink项目能顺利构建、运行和部署。在实际开发中,应根据具体需求和环境对这两个文件进行适当的调整。

    maven镜像设置 settings.docx

    本文将详细讲解如何配置Maven的`settings.xml`以使用镜像。 一、`settings.xml`文件概述 `settings.xml`是Maven的配置文件,用于设置个人或全局的Maven环境参数。该文件分为用户级和全局级两种: 1. 用户级:默认...

    maven 配置多仓库

    **正文** 在软件开发中,Maven作为Java项目管理和构建工具,其...通过正确配置`pom.xml`和`settings.xml`,以及使用Nexus这样的仓库管理工具,我们可以更好地管理Maven的依赖关系,为团队开发提供高效、可靠的环境。

    设置settings.xml文件, 添加国内源

    而`settings.xml`文件是Maven的核心配置文件之一,它定义了Maven仓库的位置、代理服务器设置、镜像配置以及用户特定的配置选项。本篇文章将深入探讨如何设置`settings.xml`文件,特别是添加国内源,以提高在国内开发...

    maven-settings-generator:自动生成Maven settings.xml,以便于使用

    Maven的配置核心在于settings.xml文件,这个文件包含了用户特定的配置信息,如本地仓库路径、远程仓库设定、镜像配置等。当我们需要针对不同的开发环境或者团队协作时,定制settings.xml变得尤为重要。"maven-...

    maven.aliyun.com·settings.xml.zip

    最新2019年9月中旬阿里云maven仓库,下载之后直接替换maven-3.6.x/conf/settings.xml即可,找了好多阿里云的仓库都是maven.aliyun.com/nexus/content/groups/public,死活用不成,pom一直报错,弄了一个星期差点崩溃...

    maven3+nexus2搭建本地,私有仓库

    为了让 Maven 使用 Nexus2 私有仓库,需要在 settings.xml 文件中添加镜像和 profile 配置。以下是配置步骤: 1. 添加镜像配置,指定 Nexus2 私有仓库的 URL 2. 添加 profile 配置,指定 releases 和 snapshots ...

    maven私服nexus-2.11.4-01.rar

    在Maven项目中,可以通过配置pom.xml和settings.xml,将项目打包并上传到Maven私服。 2. **更新与维护** 定期检查Nexus的更新,保持版本的时效性,确保安全性和稳定性。 3. **备份与恢复** 为防止数据丢失,...

    通过mvn命令下载pom.xml中的jar包

    - 私有仓库:公司内部可能有自己的Nexus或Artifactory仓库,需要在`settings.xml`中添加相关配置。 总之,通过批处理文件结合`mvn`命令和`settings.xml`,可以高效地管理和下载Maven项目的依赖,提高开发效率并确保...

    settings.xml

    maven阿里云镜像配置xml &lt;id&gt;alimaven &lt;name&gt;aliyun maven &lt;url&gt;http://maven.aliyun.com/nexus/content/groups/public/&lt;/url&gt; &lt;mirrorOf&gt;central&lt;/mirrorOf&gt; 本地仓库记得配置

    maven nexus私服构件示例

    在使用Nexus时,我们通常会在settings.xml中配置仓库服务器,指明Nexus的URL,以便Maven在构建时知道从哪里获取或推送构件。 Nexus的私有仓库分为三种类型: Releases(发布仓库),用于存储稳定的、经过测试的构件...

    Maven仓库管理-Nexus

    Maven 的本地仓库地址默认为 ${user.home}/.m2/repository,可以通过修改${user.home}/.m2/settings.xml 配置这个地址。也可以在 Maven 主目录下的 setting.xml 中配置统一的地址。 当创建一个简单的 Maven 项目后...

Global site tag (gtag.js) - Google Analytics