zoukankan      html  css  js  c++  java
  • maven自动打包上传nexus仓库配置

      一个基础类,可能要升级并放到私服库里,为了方便,应该能够自动打包放到nexus。这就需要配置maven一些参数与pom.xml。

    依次在settings.xml文件裡輸入

    Xml代码  收藏代码
    1.  <!-- nexus帳號和密碼-->  
    2.   
    3.    <server>    
    4.      <id>releases</id>    
    5.      <username>admin</username>    
    6.      <password>admin123</password>    
    7.    </server>    
    8.    <server>    
    9.      <id>snapshots</id>    
    10.      <username>admin</username>    
    11.      <password>admin123</password>    
    12.    </server>       
    13.  </servers>    
    14.   
    15. ...  
    16.   
    17. <!-- 引用naxus倉庫組-->  
    18.    <profile>  
    19.        <id>dev</id>  
    20.           <repositories>  
    21.              <repository>  
    22.                  <id>nexus</id>  
    23.                  <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>  
    24.                  <releases>  
    25.                     <enabled>true</enabled>  
    26.                  </releases>  
    27.                  <snapshots>  
    28.                     <enabled>true</enabled>  
    29.                  </snapshots>  
    30.               </repository>  
    31.             </repositories>             
    32.             <pluginRepositories>  
    33.                 <pluginRepository>  
    34.                     <id>nexus</id>  
    35.                     <url>http://127.0.0.1:8081/nexus/content/groups/public</url>  
    36.                     <releases>  
    37.                         <enabled>true</enabled>  
    38.                     </releases>  
    39.                     <snapshots>  
    40.                         <enabled>true</enabled>  
    41.                     </snapshots>  
    42.                 </pluginRepository>  
    43.             </pluginRepositories>  
    44.         </profile>  
    45. ..  
    46.   
    47.  <!-- nexus -->  
    48.   <activeProfiles>  
    49.         <activeProfile>dev</activeProfile>  
    50.   
    51.     </activeProfiles>   


    注意:根據標籤位置準確輸入

    在本项目的pom.xml配置即可 
    <!--上传配置 必须--> 

    <distributionManagement>
    <repository>
    <id>releases</id>
    <url>http://127.0.0.1:8081/nexus/content/repositories/releases</url>
    </repository>
    <snapshotRepository>
    <id>snapshots</id>
    <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
    </distributionManagement>

    <!--上传source.jar 非必须-->

    <build>

    <plugins>

    <plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-source-plugin</artifactId>

    <executions>

    <execution>

    <id>attach-sources</id>

    <goals>

    <goal>jar</goal>

    </goals>

    </execution>

    </executions>

    </plugin>

    </plugins>

    </build>

    上面的ID和pom.xml中对应distributionManagement-> repository的ID,用户名和密码需要在nexus中配置。

    完成以上配置,只要输入命令:mvn deploy 即可。

    遇到的问题:

    maven deploy到nexus报错:Return code is: 401, ReasonPhrase:Unauthorized

    提交到nexus时候报错:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project *: Failed to deploy artifacts: Could not transfer artifact *:jar:1.0 from/to releases (http://10.1.81.199:8081/nexus/content/repositories/releases/): Failed to transfer file: http://10.1.81.199:8081/nexus/content/repositories/releases/com/cs2c/security-management-client* /1.0/*-1.0.jar. Return code is: 401, ReasonPhrase:Unauthorized.

    原来是没有配置认证。

    maven目录conf的setting.xml里,

    1.   <server>  
    2.     <id>releases</id>  
    3.     <username>admin</username>  
    4.     <password>admin123</password>  
    5.   </server>  
    6.  <server>  
    7.   <id>snapshots</id>  
    8.   <username>admin</username>  
    9.   <password>admin123</password>  
    10.   </server>  
    11. </servers>  

    用户名和密码都是nexus的。再次deploy即可。

    注意这里的id要和pom.xml里远程deploy的地址对应一致,我的pom.xml里配置:

    1. <!-- 配置远程发布到私服,mvn deploy -->  
    2.     <distributionManagement>  
    3.         <repository>  
    4.             <id>releases</id>  
    5.             <name>Nexus Release Repository</name>  
    6.             <url>http://10.1.81.199:8081/nexus/content/repositories/releases/</url>  
    7.         </repository>  
    8.         <snapshotRepository>  
    9.             <id>snapshots</id>  
    10.             <name>Nexus Snapshot Repository</name>  
    11.             <url>http://10.1.81.199:8081/nexus/content/repositories/snapshots/</url>  
    12.         </snapshotRepository>  
    13.     </distributionManagement>  
  • 相关阅读:
    朴英敏: 用crash工具分析Linux内核死锁的一次实战【转】
    ext3,ext4,xfs和btrfs文件系统性能对比【转】
    STM32MP157——Remoteproc和RPMsg【转】
    使用edac工具来检测服务器内存故障.【转】
    面试题-python 什么是生成器(generator)?
    面试题-python 什么是迭代器(Iterator)?
    面试题-python 浅拷贝和深拷贝(copy模块)
    selenium+python自动化104-如何获取隐藏元素text文本
    面试题-websocket 接口如何测试?
    jmeter压测学习47-发soap请求测试webservice接口
  • 原文地址:https://www.cnblogs.com/zhangchuan210/p/3508286.html
Copyright © 2011-2022 走看看