maven私服在開發中的具體應用篇
Maven私服指南
下載
下載包 nexus-2.9.0.war http://download.csdn.net/detail/wshuaichao/8305241
上傳到linux作業系統目錄 apps/svr/
cp nexus-2.9.0.war nexus.war
rm –f nexus-2.9.0.war
安裝(Linux系統)
安裝之前需要準備JDK環境
A. jdk1.7 環境變數配置
B. apache-maven-3.1.1 環境變數配置
C. apache-tomcat-7.0.61.tar.gz
tar –zxf apache-tomcat-7.0.61.tar.gz
cp apache-tomcat-7.0.61 tomcat-nexus
rm –f apache-tomcat-7.0.61
mv nexus.war /apps/svr/tomcat-nexus/webapps/
進入bin 目錄 執行 sh start.sh 啟動tomcat
1. 驗證是否成功
http://localhost:8080/nexus/#welcome
2. 預設登入賬戶、密碼
admin\admin123
3. 設定一個只讀賬號的使用者名稱密碼,使用者開發者釋出包
用管理員賬號登入nexus系統,建立一個deployment賬號
<username>deployment</username>
<password>123</password>
使用
概念:3rdparty、Snapshots、Releases.
以下是個人理解
3rd party 顧名思義是第三方jar倉庫。
作用:主要是當我們的maven中央倉庫沒有第三方開發的jar,方便我們管理這些jar包。舉個例子:oracle驅動jar ,中央倉庫沒有定義maven座標,我們在 pom檔案中無法使用,這時候需要我們團隊內部定義一個maven座標,我們就會定義在這個倉庫。
Snapshots、Releases 是團隊內部開發的jar包倉庫,我們把團隊自己開發的相關jar存放到此倉庫中。Snapshots是開發版本,Releases 是正式釋出版。
Public Repositories 是遠端倉庫的同步庫,我們的私服在被使用的時候,會快取遠端倉庫的jar放到本地,提升我們下載jar的速度。
1.1 如何上傳第三方jar到私服
舉例:oracle驅動jar,上傳到3rd party.
1.2 如何釋出團隊內部開發的jar以及原始碼到私服
1. 配置maven本地服務引數配置:
conf/setting.xml以及預設使用者下的setting.xml
maven工程配置成私服的配置引數
Pom.xml配置,如果有父子工程的pom,只需在父pom.xml配置如下引數:
<!--build -->
<build>
<plugins>
<!--編譯外掛 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--打包過濾test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!--原始碼外掛 -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://ip:埠/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://ip:埠/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
2. 用maven命令發包
進入到工程的根目錄:
Mvn clean
Mvn deploy
Mvn deploy error總結:
1.1 Return code is: 401, ReasonPhrase: Unauthorized
使用mvn命令釋出包需要修改如下引數
修改maven目錄conf的setting.xml裡,
- < server >
- < id > releases </ id >
- < username > admin </ username >
- < password > admin123 </ password >
- </ server >
- < server >
- < id > snapshots </ id >
- < username > admin </ username >
- < password > admin123 </ password >
- </ server >
</ servers >
1.2釋出失敗的錯誤:
修改pom的依賴,按照提示修改即可。
歡迎QQ諮詢:928271079,有償提供maven私服運維。