Maven release Project to Nexus

準備

首先確認你已經安裝了Nexus、Maven、SVN


配置Maven

開打.m2/setting.xml

配置如下:<!--如果你安裝了Nexus,這裏代表你的release、snapshots版本發佈位置,但這裏只是作爲一個標示用於項目pom文件映射--> 

<settings xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
<localRepository/> 
<interactiveMode/> 
<usePluginRegistry/> 
<offline/> 
<pluginGroups/> 
<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/> 
<proxies/> 
<profiles/> 
<activeProfiles/> 
</settings> 



創建測試項目

mvn archetype:create   -DgroupId=com.yourcompany  -DartifactId=myproject  -DarchetypeArtifactId=maven-archetype-quickstart

搭建你的SVN路徑,假如SVN上的路徑如下:

-trunk
    -myproject
-branches
-tags


修改POM文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	  <modelVersion>4.0.0</modelVersion>
	
	  <groupId>com.yourcompany</groupId>
	  <artifactId>myproject4</artifactId>
<!--這裏一定要是快照版本-->
	  <version>1.0-SNAPSHOT</version>
	  <packaging>jar</packaging>
	
	  <name>myproject</name>
	  <url>http://maven.apache.org</url>
	
	  <properties>
	    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	  </properties>
	
	  <dependencies>
	    <dependency>
	      <groupId>junit</groupId>
	      <artifactId>junit</artifactId>
	      <version>3.8.1</version>
	      <scope>test</scope>
	    </dependency>
	  </dependencies>

<!--配置你的項目路徑-->	  
	  <scm>
	       <connection>
	           scm:svn:http://michael-du/svn/trunk/myproject
	       </connection>
	       <developerConnection>
	           scm:svn:https://michael-du/svn/trunk/myproject
	       </developerConnection>
	   </scm>
<!--這裏和開始的setting.xml對應,主要是配置到時候SVN上傳的路徑-->	   
	   <distributionManagement>
	       <repository>
	           <id>nexus-releases</id>
	           <name>Nexus Release Repository</name>
	           <url>http://10.0.25.8:8081/nexus/content/repositories/releases</url>
	       </repository>
	       <snapshotRepository>
	           <id>nexus-snapshots</id>
	           <name>Nexus Snapshot Repository</name>
	           <url>http://10.0.25.8:8081/nexus/content/repositories/snapshots</url>
	       </snapshotRepository>
	   </distributionManagement>
<!--把release版本打成tag並上傳到SVN-->	   
	     <build>
	       <plugins>
	           <plugin>
	               <groupId>org.apache.maven.plugins</groupId>
	               <artifactId>maven-release-plugin</artifactId>
	               <version>2.0-beta-9</version>
	               <configuration>
	                   <tagBase>
	                       https://michael-du/svn/tags
	                   </tagBase>
	               </configuration>
	           </plugin>
	       </plugins>
	   </build>
	</project>



mvn release:prepare 
個人說明:會打一個快照版本並上傳到SVN的tag目錄,並且你的版本會改變
mvn deploy
個人說明:把快照版本上傳到Nexus
mvn release:perform
個人說明:把release上傳到Nexus

其他:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章