一、 步骤

有时候,项目中打好的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

maven上传jar包或pom文件到远程仓库的更多相关文章

  1. maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤

    maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点 ...

  2. maven安装 maven上传jar包到库里面

    maven的安装与配置:http://pansanday.blog.163.com/blog/static/381662802012727103454743/ maven上传jar包到库里面: 将私有 ...

  3. 实测Maven上传jar包到私服的方法归纳

    Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...

  4. Maven上传jar包到私服

    1.认证,在M2_HOME/conf/settings.xml配置用户名密码 <server> <id>releases</id> <username> ...

  5. maven 上传jar包到私服仓库

    按一下形式上传jiar包 # mvn deploy:deploy-file -DgroupId=com.itextpdf -DartifactId=itextpdf -Dversion=5.5.13 ...

  6. 8.maven上传jar包以及SNAPSHOT的一个坑

    1,手动上传包 如何将一些新的外部包上传到私服当中呢? 首先是要登录上去,然后点击 Upload,找到 maven-local将jar包找到选中,然后填写对应的三个定位信息即可上传. 在引用的时候,道 ...

  7. Maven 上传 jar包 到私服

    登录Nexus后,点击右侧的“Repositories”,显示当前Nexus所管理的Repository, 默认情况下Nexus为我们创建了以下主要的Repository: 1.PublicRepos ...

  8. maven上传jar包(oracle jdbc驱动)

    由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库.一.首先要得到Oracle J ...

  9. Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】

    搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...

  10. gradle上传jar包到maven公共仓库

    首先这里说的中央仓库 是指的 https://issues.sonatype.org/ 而不是maven私服. 其次是使用gradle上传jar包,maven上传,网上有很多教程,这里不做赘述. 首选 ...

随机推荐

  1. 原生js实现jsonp

    有时候用js封装个小工具需要一些已经被封装好的函数,比如jq的jsonp 但是原生小工具如果仅仅为了这个就导入一个上百kb的jQuery不划算 然后我去网上找,一大堆废文,还是自己发一篇记录一下吧 下 ...

  2. CVE-2022-32532 Apache Shiro 身份认证绕过

    漏洞名称 CVE-2022-32532 Apache Shiro 身份认证绕过 利用条件 Apache Shiro < 1.9.1 漏洞原理 使用RegexRequestMatcher进行权限配 ...

  3. 如何通过Java代码在PDF中插入、替换或删除图像?

    图文并茂的内容往往让人看起来更加舒服,如果只是文字内容的累加,往往会使读者产生视觉疲劳.搭配精美的文章配图则会使文章内容更加丰富,增加文章可读性的同时,也能提升用户体验.但由于PDF文档安全性较高,不 ...

  4. C++ 使用 new 创建二维数组

    1. 直接创建 C++ 使用 new 创建二维数组最直接的方法就是 new T[M][N].返回的指针类型是 T (*)[N],它是指向数组的指针,可以直接使用数组下标形式访问元素.释放内存直接使用d ...

  5. 序列化框架-Kyro简述

    网上有很多资料说 Kryo 只能在 Java 上使用,这点是不对的,事实上除 Java 外,Scala 和 Kotlin 这些基于 JVM 的语言同样可以使用 Kryo 实现序列化. 1.使用方法 ( ...

  6. angular组件共用服务打印日志父子组件传值2创建服务注入

  7. Python解释器下载与安装

    Python解释器下载与安装 一.Python解释器 1.Python的发展方向 web方向,自动化运维,自动化测试,自动化办公,网络爬虫,金融量化,人工智能,机器学习,数据分析 2.Python解释 ...

  8. Lock锁-线程状态概述

    Lock锁 java.util.concurrent.locks.Lock机制提供了比synchronized代码块和synchronized方法更广泛的锁定操作,同步代码块/同步方法具有的功能Loc ...

  9. 论文翻译:2022_Phase-Aware Deep Speech Enhancement: It’s All About The Frame Length

    摘要 虽然相位感知语音处理近年来受到越来越多的关注,但大多数帧长约为32 ms的窄带STFT方法显示出相位对整体性能的影响相当温和.与此同时,现代基于深度神经网络(DNN)的方法,如Conv-TasN ...

  10. wsl 自动配置代理地址