maven配置多个nexus库

maven配置多个nexus库

背景介绍

部门A搭建了自己的nexus服务,旧项目都在使用这个旧nexus(ip:8081)。
后应公司号召,新的项目使用了公司新的nexus(nexus.com)。Jenkins编译打包的时候
旧的项目需要旧nexus(ip:8081),新项目需要使用新nexus(nexus.com)。

操作和配置

分为2部分配置:
一个是新项目中pom.xml文件需要配置新nexus(nexus.com)。
一个是maven的setting.xml中需要增加新nexus(nexus.com)的

新项目pom.xml的配置

	<repositories>
		<repository>
			<id>tbc-nexus</id>
			<name>tbc nexus</name>
			<url>http://nexus.com/repository/maven-public/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<updatePolicy>always</updatePolicy>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

	<distributionManagement>
		<repository>
			<id>tbc-releases</id>
			<name>tbc-releases</name>
			<url>http://nexus.com/repository/tbc-releases/</url>
		</repository>
		<snapshotRepository>
			<id>tbc-snapshots</id>
			<name>tbc-snapshots</name>
			<url>http://nexus.com/repository/tbc-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

注意:pom.xml中的这几个id是需要用到maven的setting.xml中的
<id>tbc-nexus</id>
<id>tbc-releases</id>
<id>tbc-snapshots</id>

setting.xml配置

# cp setting.xml newsetting.xml
# vi newsetting.xml  增加新配置:
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
  <localRepository>/data/maven/repository</localRepository>

  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

  <servers>
新增加配置开始	
    <server>
      <id>tbc-releases</id>    这个地方要与pom.xml一致
      <username>用户名</username>   登录nexus.com的账户密码
      <password>密码</password>
    </server>
	
    <server>
      <id>tbc-snapshots</id>    这个地方要与pom.xml一致
      <username>用户名</username>    登录nexus.com的账户密码
      <password>密码</password>
    </server>
新增加配置结束
	
    <server>
      <id>releases</id>
      <username>账户</username>
      <password>密码</password>
    </server>
	
    <server>
      <id>snapshots</id>
      <username>账户</username>
      <password>密码</password>
    </server>

  </servers>

  <mirrors>
     <mirror>     
       <id>nexus</id>     
       <mirrorOf>*</mirrorOf>     
       <url>http://ip:8081/repository/maven-public/</url>     
     </mirror>
	 
  </mirrors>

  <profiles>
  <profile>
     <id>nexus</id>
        <repositories>
        <!-- 旧的私有库地址-->
          <repository>
			  <id>releases</id>
			  <url>http://ip:8081/repository/maven-public/</url>
			  <releases>
				<enabled>true</enabled>
			  </releases>
			  <snapshots>
				<enabled>true</enabled>
			  </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--旧的插件库地址-->
        <pluginRepository>
          <id>releases</id>
          <url>http://ip:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
新增加配置开始		
   <profile>
     <id>tbc-nexus</id>   这个地方要与pom.xml一致,activeProfile也需要配置一样
        <repositories>
        <!-- 新的私有库地址-->
          <repository>
			  <id>tbc-releases</id>   这个地方要与pom.xml一致
			  <url>http://nexus.com/repository/maven-public/</url>
			  <releases>
				<enabled>true</enabled>
			  </releases>
			  <snapshots>
				<enabled>true</enabled>
			  </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--新的插件库地址-->
        <pluginRepository>
          <id>tbc-releases</id>   这个地方要与pom.xml一致
          <url>http://nexus.com/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
新增加配置结束
	
  </profiles>


 <activeProfiles>
  <activeProfile>nexus</activeProfile>
新增加配置开始,激活
  <activeProfile>tbc-nexus</activeProfile>   这个地方要与pom.xml一致
新增加配置结束
 </activeProfiles>

</settings>

Jenkins上配置maven


将配置路径指定到我编辑的newsettings.xml

posted @ 2020-11-06 23:06  邹姣姣  阅读(1376)  评论(0编辑  收藏  举报