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

 

 

 

posted @   屠城校尉杜  阅读(8844)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示