1. 程式人生 > >將專案打包至私有maven倉庫

將專案打包至私有maven倉庫

1.下載並安裝maven

2.開啟conf目錄的settings.xml檔案,找到servers節點並新增私有倉庫的id、使用者名稱、密碼

<!-- 配 上傳的賬號和密碼 -->
<!-- 釋出到發行版本的倉庫中,即正式版本倉庫 -->
   <server>
       <id>releases</id>
       <username>使用者名稱</username>
       <password>密碼</password>
   </server>
<!-- 釋出到快照版本的倉庫,即測試版本倉庫 -->
   <server>
       <id>snapshots</id>
       <username>使用者名稱</username>
       <password>密碼</password>
   </server>

3.找到profiles節點配置私有倉庫地址
 

<profile>
      <id>kn-dev</id>
      <repositories>
        <repository>
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://倉庫地址加埠/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    
    <pluginRepositories>
        <pluginRepository>
           <id>public</id>
           <name>Public Repositories</name>
           <url>http://倉庫地址加埠/nexus/content/groups/public/</url>
           <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    </profile>

4.在profiles節點後啟用該配置

<activeProfiles>
    <activeProfile>kn-dev</activeProfile>
</activeProfiles>

5.在maven專案裡面的pom.xml配置要釋出的倉庫地址

<distributionManagement>
    <!-- 釋出到快照版本的倉庫,即測試版本倉庫 -->
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://倉庫地址加埠/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
    <!-- 釋出到發行版本的倉庫中,即正式版本倉庫 -->
    <repository>
        <id>releases</id>
        <url>http://倉庫地址加埠/nexus/content/repositories/releases</url>
    </repository>
</distributionManagement>

6.執行deploy命令即可將專案打包至遠端倉庫

mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:\project\helloworld.jar -DgroupId=com.itcaset.test -DartifactId=maven-test -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -DrepositoryId=public -Durl=http://192.168.0.112/repository/roy_privrepository_snapshots/

-Dmaven.test.skip=true //跳過編譯、測試

-Dfile=D:\project\helloworld.jar //jar包檔案地址,絕對路徑

-DgroupId=com.itcaset.test //gruopId--pom座標,自定義

-DartifactId=maven-test //artifactId--pom座標,自定義

-Dversion //版本號

-Dpackaging //打包方式

-DrepositoryId //遠端庫伺服器ID

-Durl //遠端庫伺服器地址

idea可以在maven外掛執行deploy

專案的version如果是以SNAPSHOT結尾,則專案會發布到快照倉庫,否則釋出到正式版本倉庫