maven上傳jar包或pom文件到遠程倉庫


一、 步驟

有時候,項目中打好的jar包或pom文件需要上傳到遠程倉庫,步驟總結如下:

  1. 安裝好maven,網上有很多教程,默認已安裝
  2. 工程中的settings.xml增加相應的server賬號密碼:

 

<servers>
    <server>
        <id>duke_Release</id>
        <username>maven-user</username>
        <password>maven-user@duke2021</password>
    </server>
    <server>
        <id>duke_Snapshot</id>
        <username>maven-user</username>
        <password>maven-user@duke2021</password>
    </server>
</servers>

 

3. pom文件中新增以下配置

<distributionManagement>
        <repository>
            <id>duke_Release</id>   <!--四個id 要保持一致-->
           <url>http://cloudartifact.ipd.duke.com/artifactory/maven-public/</url>  <!-- distributionManagement里面url可改為自己的私倉地址-->
        </repository>
        <snapshotRepository>
            <id>duke_Snapshot</id>
            <url>http://cloudartifact.ipd.duke.com/artifactory/maven-public/</url>
        </snapshotRepository>
    </distributionManagement>

4. 執行傳包命令

詳細信息可參考官網文檔,命令格式如下:

mvn deploy:deploy-file -DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>

      舉例說明,標紅的部分,需要根據每個包的路徑和版本等修改

mvn deploy:deploy-file -Dfile= D:\data\.m2\repository2\com\xxx\xxx\duke\duke-basic\1.0.1-SNAPSHOT\duke-basic-1.0.1-SNAPSHOT.jar -Dpackaging= jar -DgroupId= com.xxx.xxx.duke -DartifactId= duke-basic -Dversion= 1.0.1-SNAPSHOT -DrepositoryId= dukeServiceSnapshot -Durl= http://cmc.xxx.dragon.tools.xxx.com/artifactory/maven-public

      

二、踩坑總結

1. mvn deploy報錯報錯org.apache.maven.plugin.MojoFailureException

 解決方法:將要安裝的jar和pom copy到其它目錄再安裝,只要不在本地倉庫目錄都應該可以.

2. 如何刪除已經發布到 mavenCentral 遠程倉庫中的包

官方解釋:你可以重新發一個新版本,但是對於已經發布的版本,不好意思你不能修改。

 

 

 3. maven進行compile操作時Invalid packaging for parent POM,must be pom but is_jar這個錯誤

查看自己父模塊和子模塊的POM.XML文件,有沒有指定打包方式,一般MAVEN的工程的父模塊的POM.XML的打包方式為pom方式,子模塊工程的POM.XML的打包方式為jar包方式,所以應加入如下代碼分別到父子POM.XML文件里。

<packaging>pom</packaging> -- 父pom.xml
<packaging>jar</packaging> -- 子pom.xml

 

 

 


免責聲明!

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



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