最近写了一个用来处理字符串拆分,然后按模板输出的小工具,项目地址github地址 ,coding地址
起初是作为一个单独的项目使用的,可以直接运行(使用spring-boot),然后在页面中定义处理规则,根据要处理的文本(统一格式的多条文本中的一条)及定义的模板实时显示处理后输出的内容,都ok以后可以上传需要处理的文本文件,返回下载处理后的文本文件。
写完以后想着既然功能实现了,那就直接把他抽出来当做一个可以独立使用的jar算了,改造完就看了一下怎么把项目提交到maven中央仓库,以前没细研究过,只是想过像本地的私服一样,谁都可以上传的话怎么保证spring的包不会被其他人替换,就像我也定义一个坐标与spring一样的项目,上传后会怎么样?当然,这显然是多虑了,先不说上传需要知道用户名密码,光哪个gpg加密就搞不定的。
这里记录一下上传的过程中遇到的问题,其它的参考发布Maven构件到中央仓库,或者自己去搜索一下相关文章
第一个问题–关于groupId
自己项目的groupId是一个域名的反写,如:com.jianpage
如果你输入的这个域名不是github的域名那么你提交issues的时候,工作人员(实际上应该是个自动处理程序,因为工作人员在国外,作息时间有时差,真正的工作人员应该在晚上20:00左右上班)会询问你,这个域名是不是你的,如果不是希望你改成github的地址,如:
当你回复后并不会马上给你处理因为这次就需要真正的工作人员处理了,所以一般会等到晚上。
我观察了一下其它人提交的情况,如果groupId直接是github地址的话(和你提交的项目地址用户名相同)程序会直接处理你的issues,就不用等到晚上了。
第二个问题–关于pom.xml
平时写pom.xml
都写的很随意,但如果需要上传到中央仓库的话,那要补充的东西就多了,我也是反复改了好多遍,大部分文章中都写的不是很清楚,因为内容太多,我的建议是参考已和的开源项目。
第三个总是–关于gpg加密
按照参考文章中的操作,安装gpg并生成密钥后,执行mvn打包时,并没有弹出输入gpg密码的提示,看日志输出也没有使用gpg加密的过程,应该是maven中配置的gpg插件没有起作用,后来参考了官方文档Deploying to OSSRH with Apache Maven
在maven的setting.xml
中配置了:
1 | <profile> |
再执行就可以了。
最后
一切搞定以后终于能在官方的中央仓库中查询到了,但是换了国内的试了下,还是没有,也许是没有同步吧,反正我等了三天了也还是找不着。。。
本文链接: http://blog.jisuye.com/2016/10/12/project-upload-maven-nexus/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!