最近打算把自己的一些jar包,放到Maven仓库,研究了几天。
参考了好几篇文章,今天完成了第1步:
可以把Snapshot快照版jar放到Maven仓库了。
第2步,发布Release版本,竟然遇到了好几个问题,目前还没完全解决。
如有需要,可以参考末尾的3篇文章。
这里主要记录其中遇到的一些难点:
1、需要这个插件
<!--指定上传仓库-->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>sonatype</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
2、GPG插件
<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>
</execution>
</executions>
</plugin>
我安装的 Windows版本,gpg --version正常就安装成功了。
本人习惯在Eclipse中执行maven命令,在执行的过程中,提示gpg.exe找不到。
网上找了各种资料,很少有遇到这个问题的。
看别人资料的过程中,根据自己的经验,来了一点灵感:
在运行时环境 Environment添加了1个PATH 指向GPG的bin目录。
3、GPG需要生成密钥并上传
pub rsa2048 2019-04-15 [SC] [expires: 2021-04-14]
1234
uid fasuion
sub rsa2048 2019-04-15 [E] [expires: 2021-04-14]
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 1234
4. javadoc插件 2个问题
配置之后,遇到问题,目前没解决
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
问题1:
Java8 下会有问题,Java8验证规则比较严格,注释里面自定义的标签不认可,加下面的配置忽略自定义的注释标签
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
问题2:中文乱码,提示报错(之前Eclipse导出JavaDoc遇到过问题,看了网友的资料,想起来了)
但是Eclipse Maven执行命令的时候,添加参数方式不太一样
5.GPG不用每次都输入密码
参考问题4,增加1个参数配置。
Eclipse里 Maven执行命令,添加额外参数 和标准Maven命令 ,方式不太一样。
6.release发布没权限
账号注册成功之后,有4个链接。
其中1个链接没全权限访问,已经在官网求助。
https://oss.sonatype.org/service/local/staging/deploy/maven2
Sonatype官网求助...
I need your help.
I can visit the url below with browser:
https://oss.sonatype.org/content/repositories/snapshots
https://oss.sonatype.org/content/groups/public
https://oss.sonatype.org/content/groups/staging
But I cannot visit the url with browser, maybe no permission:
https://oss.sonatype.org/service/local/staging/deploy/maven2
<nexus-error>
<errors>
<error>
<id>*</id>
<msg>
Staging of Repository within profile ID='7edbe315063867' is not yet started!
</msg>
</error>
</errors>
</nexus-error>
-------------
I has deploy snapshot into
https://oss.sonatype.org/content/repositories/snapshots/com/jiutianniao/jtn-common/
with my Eclipse Maven...
But I cannot deploy release into
https://oss.sonatype.org/service/local/staging/deploy/maven2
I am sure, I has configed Maven、POM、GPG successfully
by reading chinese blog articles .
Thanks.
参考资料:
如何上传自己的jar包到maven公共远程中央仓库
https://blog.csdn.net/z960339491/article/details/80334384
一步一步教你发布构件到Maven中央仓库
https://blog.csdn.net/xiajiqiu/article/details/77607492
发布jar包到maven中央仓库
https://blog.csdn.net/sunbufu/article/details/80371303
提交jar到Maven仓库问题ReasonPhrase: Forbidden
https://www.oschina.net/question/1444646_2277979