1. 程式人生 > >maven私服在開發中的具體應用篇

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>

 

 

 

 

使用

概念:3rdpartySnapshotsReleases.

 

以下是個人理解

3rd party  顧名思義是第三方jar倉庫。

作用:主要是當我們的maven中央倉庫沒有第三方開發的jar,方便我們管理這些jar包。舉個例子:oracle驅動jar ,中央倉庫沒有定義maven座標,我們在 pom檔案中無法使用,這時候需要我們團隊內部定義一個maven座標,我們就會定義在這個倉庫。

 

SnapshotsReleases 是團隊內部開發的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目錄confsetting.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 >   

</ servers >

1.2釋出失敗的錯誤:

 

修改pom的依賴,按照提示修改即可。

歡迎QQ諮詢:928271079,有償提供maven私服運維。