发布Maven构件到中央仓库 和那些经历过的坑
来源:互联网 发布:网络娱乐注册送彩金 编辑:程序博客网 时间:2024/05/17 06:13
发布Maven构件到中央仓库
自己写一个开源的maven插件爽吧,发布出去怎么样,大体流程网上的攻略都差不多
可以参考这份 发布Maven构件到中央仓库
下面重点说说遇到的坑
第1个坎 GPG安装
Win10系统下安装攻略中提到的官方gpg4win会失败,下载无法安装被杀毒软件拦截了,具体原因不明,网上找了一个for windows store的WINGPG1.0, 终于安装成功
第2个坎 no tty
无法输出到tty,解决这个并不难,maven配置中加入参数即可,不清楚为什么攻略中其他人没碰到
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <gpgArgument>--no-tty</gpgArgument> </gpgArguments> </configuration> </execution> </executions></plugin>
第3个坎 no agent
这货足足困惑了我好久,直到发现这是一个exe文件,而我下载的WINGPG1.0里根本没有这个文件。于是继续谷歌之,查到有这么个工具 gnupg https://www.gnupg.org/ 也可以做打包工作. 下载安装,在其根路径下看到了这个gpg-agent.exe,把path默认设置的pub路径改为根路径即可访问。
回溯问题时想不起什么问题导致要改gpg.exe执行文件要改为gpg2.exe了,不改应该也是可行的,如果要用gpg2.exe可以在maven中加入如下内容
<profile> <id>release</id> <properties> <gpg.executable>gpg2</gpg.executable> </properties> ...
第4个坎 no default secert key
回溯这个问题时推测本地产生这个问题的原因是从WINGPG换成gnupg造成的,前期在WINGPG下产生的key有信息丢失了,在调试的过程中gnupg下生成key以后,丢失了secert key。总之如果生成key以后 gpg2 –list-secret-keys 查看不到(注意如果参照攻略就统一用gpg,按我的设置就统一用gpg2),那么就需要再生成一个key.
第5个坎 私钥上传?
这个问题我也不很确定,既然本地需要有一个secret-key才能签名,https://oss.sonatype.org/ 上操作close这个步骤的时候为啥还需要在公共key pool里找这个key. 反正是开源的,我就把这个私钥也上传了,事实上这个后创建的私钥在gpg2 –list-secret-keys和gpg2 –list-keys中同时存在。具体逻辑就不管了,老子是来上传开源插件的。
最后感谢阮一峰的这篇 GPG入门教程 它让我从众多攻略的坑中找到了一丝曙光
- 发布Maven构件到中央仓库 和那些经历过的坑
- 【转】发布Maven构件到中央仓库
- 发布构件到Maven中央仓库
- 发布Maven构件到中央仓库
- Maven自动发布构件到远程中央仓库
- 将 Smart 构件发布到 Maven 中央仓库
- 一步一步教你发布构件到Maven中央仓库
- 将项目发布到 maven 中央仓库踩过的坑
- 如何发布自己的 jar 包到 maven 中央仓库
- 发布构建到maven中央仓库
- maven 发布jar到 nexus 中央仓库
- 发布Jar包到Maven中央仓库
- 发布本地项目到中央maven仓库
- 发布项目到maven中央仓库
- 发布jar包到Maven中央仓库
- Jar发布到MAVEN中央仓库实践
- 发布Jar包到Maven中央仓库
- maven的本地仓库和中央仓库
- busybox的tftp
- CentOS 6.X网络配置
- iOS10 获取系统通讯录新方法
- git 常用命令
- bzoj2154【莫比乌斯函数】【线性筛】
- 发布Maven构件到中央仓库 和那些经历过的坑
- API gateway---nignx的负载均衡配置
- JSON解析、JAVA常用的工具类、JAVA集合框架、JAVA泛型、枚举
- linux/if.h和net/if.h在统一程序中出现重复定义的解决
- spring boot(七):springboot+mybatis多数据源最简解决方案
- js中for循环和splice合用
- 漫谈一下前端的可视化技术
- 10个TWaver网页3D可视化精彩案例
- Random Decision Forest