maven打包并发布到中央仓库,大体可以参考:@Anumbrella的文章:https://blog.csdn.net/anumbrella/article/details/78887195
以下就我在发布中遇到的一些问题作一些说明,权当记录备查
1、包名问题:我没有自己的域名,因此填写的com.github.github用户名
2、GPG生成密匙对时,真实姓名我填写的拼音,因为中文会乱码。。。。邮箱填写自己的邮箱,密码也自己设定一个自己能记住的
3、pom文件配置:框架用了springboot,其要求pom中有parent节点,而发布到中央仓库也要求有parent节点,因此将springboot的parent节点移动到了dependencyManagement节点,和parent同级,parent填写发布到中央仓库需要的信息
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
4、maven的setting.xml中的账号密码配置:由于注册账号时要求有大小写英文+数字+特殊字符,部分特殊字符在xml中需要转义。具体参考:https://blog.csdn.net/churuxu/article/details/51222564
5、部署和发布包时,javadoc有可能提示不存在,或者一堆乱码提示,主要原因:
a.javadoc是在java的jre/bin下去执行的,但是jre/bin没有
b.javadoc要求每个参数都有@param说明
针对以上两点,在pom中增加:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<encoding>UTF-8</encoding>
<!-- 指定javadoc位置 -->
<javadocExecutable>${java.home}/../bin/javadoc</javadocExecutable>
<!-- 忽略javadoc中出现的错误 -->
<failOnError>false</failOnError>
<doclint>none</doclint>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
6、在release时,可能出现删除不了的问题。我个人是在参考https://blog.csdn.net/qq_36838191/article/details/81027586中把gpg密匙传到验证服务器后就搞定了,因此你如果有此问题可以试试
7、发布了第一个版本之后,要去你的issue通知他们你的第一个release版本已经发布