博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次maven nexus私服发布
阅读量:6232 次
发布时间:2019-06-21

本文共 2924 字,大约阅读时间需要 9 分钟。

这是第一次使用 nexus 私服上传自己的 jar 包到仓库里,各种不懂各种搜索,百度完了又谷歌,终于大概了解了个流程。

maven 发布方式

大致上可以分为 mvn deploy 和 mvn deploy:deploy-file。

  1. 前者是在 pom.xml 里增加 distributionManagement 配置,直接把 jar 包和 pom.xml 等文件一起上传到 nexus,
  2. 后者是先打包好 jar 包,然后直接上传 jar 文件。

遇到的问题

mvn deploy:deploy-file -DgroupId=com.jpay -DartifactId=common-payment-sdk -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=./target/common-payment-sdk-0.0.1.jar -Durl=http://10.100.86.153:8081/repository/maven-snapshots/ -DrepositoryId=nexus-snapshotsmvn deploy:deploy-file -DgroupId=com.jpay -DartifactId=common-payment-sdk -Dversion=0.0.1 -Dpackaging=jar -Dfile=./target/common-payment-sdk-0.0.3.jar -Durl=http://10.100.86.153:8081/repository/maven-releases/ -DrepositoryId=nexus-release复制代码

现在来说说我所遇到的问题,现在拿 jpay 这个整合支付来测试一下,经常一番努力之后,终于把 jar 包上传到 nexus 里了,这时想着应该要事成了,把本地 ~/.m2/repository/com/jpay 这个依赖删除,试试看有没有从私服上 download 依赖包,发现 mvn install 时完全没有 download 的步骤,没理由啊~

解决思路

于是指定一下私服地址,在 pom.xml 里增加:

nexus
nexus
http://10.100.86.153:8081/repository/maven-releases/
true
true
复制代码

再执行一次 mvn install,依然没有反应,没有 download,然后编译错误提示找不到 jpay 依赖包。这时我再想,会不会是应该打包的时候把所有的第三方依赖都打包进去呢?于是,我又在 jpay 的 pom.xml 里增加了个插件配置:

maven-assembly-plugin
false
jar-with-dependencies
make-assembly
package
assembly
复制代码

再次打包,原本160K 的 jar 包变成了 26M 了,再次试试打包项目,终于通过了。

于是我又试着去看看别人的 jar 包会不会也把所有依赖打包进去呢?进去 ~/.m2/repository 找别人的包一看,都好小哦,再看看 pom.xml 一看,很多 dependency 在里面,我打开 nexus 进去找到我上传的包看看 pom.xml 发现只有简单的几行:

4.0.0
com.jpay
payment-sdk
0.0.1
复制代码

我插~~~问题就是出在这里,肯定是我打包的姿势不对,于是我在 jpay 的 pom.xml 里加上分发管理配置:

nexus-release
Nexus Releases Repository
http://10.100.86.153:8081/repository/maven-releases/
nexus-snapshots
Nexus Snapshots Repository
false
legacy
http://10.100.86.153:8081/repository/maven-snapshots/
复制代码

然后 mvn deploy 执行发布,看见有上传到 nexus success 成功的字样,去 nexus 查看一下 pom.xml 文件,终于看到有 dependency 在里面了。

删除本地 ~/.m2/repository/com/jpay 再打包一次项目,终于能从私服上拉取到依赖包了。

事到这里暂告一段落,改天有空再确定一下 deploy-file 上传是不是应该用 mvn package 后连同 pom 一块上传。

转载地址:http://zsana.baihongyu.com/

你可能感兴趣的文章
通过串口连接控制树莓派
查看>>
C++类继承内存布局(三)
查看>>
Js获取下拉框当前选择项的文本和值
查看>>
java开发环境配置
查看>>
例27:哈希查找
查看>>
MySQL加载本地数据时出现1290(HY000)错误
查看>>
jsp公共头信息的抽取(相对路径的修改)
查看>>
Percona XtraBackup 2.1.2 for MySQL
查看>>
[转] 隐马尔可夫(HMM)、前/后向算法、Viterbi算法 再次总结
查看>>
基于“MVC”框架集设计模式,开发用户管理系统!
查看>>
Xcode6.0+创建一个empty application步骤:
查看>>
As3截图转换为ByteArray传送给后台node的一种方法
查看>>
关于web优化(一)
查看>>
C# 判断路径是否存在
查看>>
GIT 常见的使用指令
查看>>
ORACLE字符串函数
查看>>
Hibernate基础知识介绍
查看>>
nuttx学习-0:模拟安装
查看>>
写出3个使用this的典型应用
查看>>
Triangles
查看>>