maven depoly

分发构件至远程仓库
mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
Xml代码 
  1. <project>    
  2.   ...    
  3.   <distributionManagement>    
  4.     <repository>    
  5.       <id>nexus-releases</id>    
  6.       <name>Nexus Release Repository</name>    
  7.       <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>    
  8.     </repository>    
  9.     <snapshotRepository>    
  10.       <id>nexus-snapshots</id>    
  11.       <name>Nexus Snapshot Repository</name>    
  12.       <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>    
  13.     </snapshotRepository>    
  14.   </distributionManagement>    
  15.   ...    
  16. </project>    
Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,实时,但不稳定,release版本则比较稳定。Maven会根据你项目的版本来判断将构件分发到哪个仓库。
一般来说,分发构件到远程仓库需要认证,如果你没有配置任何认证信息,你往往会得到401错误。这个时候,如下在settings.xml中配置认证信息:
Xml代码 
  1. <settings>    
  2.   ...    
  3.   <servers>    
  4.     <server>    
  5.       <id>nexus-releases</id>    
  6.       <username>admin</username>    
  7.       <password>admin123</password>    
  8.     </server>    
  9.     <server>    
  10.       <id>nexus-snapshots</id>    
  11.       <username>admin</username>    
  12.       <password>admin123</password>    
  13.     </server>      
  14.   </servers>    
  15.   ...    
  16. </settings>  
需要注意的是,settings.xml中server元素下id的值必须与POM中repository或snapshotRepository下id的值完全一致。将认证信息放到settings下而非POM中,是因为POM往往是它人可见的,而settings.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>/home/youyou/maven_repository</localRepository>
 -->

  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>
<!--服务器配置-->
  <servers>
	<server>
		<id>nexus-releases</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
	<server>
		<id>nexus-snapshots</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
  </servers>

  <mirrors>
  </mirrors>

<pre name="code" class="html"><!--库设置  这个就是代替maven原始库的-->
<profiles>
    <profile>
        <id>nexus</id>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>Nexus</name>
                <url>http://192.168.1.110:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <name>Nexus</name>
                <url>http://192.168.1.110:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
  </profiles>
 
 
 
 








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值