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>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM