maven 发布artifact到中央库

步骤一:注册账号,申请ticket。
注册在这里:https://issues.sonatype.org
申请ticket:创建一个issue,注意这里要选OSSRH,且是PROJECT而不是TASK,group id要慎重写,不能写你没有权限的,不然服务人员会让你重写(半天左右)。
申请成功后会提示:Configuration has been prepared, now you can:please comment on this ticket when you promoted your first release, thanks
步骤二:GPG,签名和加密用。
下载:https://www.gnupg.org/download/index.html
注意:签名的名字,邮箱和步骤一的一样,记住passphrase用于下面步骤。
步骤三:编译和提交文件。
注意事项:

1).m2\settings.xml文件中要加入:

  1. <servers>
  2.     <server>
  3.         <id>sonatype-nexus-snapshotsid>
  4.         <username>your-jira-usernameusername>
  5.         <password>your-jira-passwordpassword>
  6.     server>
  7.     <server>
  8.         <id>sonatype-nexus-stagingid>
  9.         <username>your-jira-usernameusername>
  10.         <password>your-jira-passwordpassword>
  11.     server>
  12. servers>

2)  pom.xml文件中要加入(project标签下):

  1. <parent>
  2.     <groupId>org.sonatype.ossgroupId>
  3.     <artifactId>oss-parentartifactId>
  4.     <version>7version>
  5. parent>

3)如果出现javadoc编译不通过的可以在javadoc插件下加入:

  1. <configuration>
  2.     <additionalparam>-Xdoclint:noneadditionalparam>
  3. configuration>

4) 注意如过时release要加入:

  1. <plugin>
  2.     <groupId>org.apache.maven.pluginsgroupId>
  3.     <artifactId>maven-gpg-pluginartifactId>
  4.     <version>${maven-gpg-plugin.version}version>
  5.     <executions>
  6.         <execution>
  7.             <phase>verifyphase>
  8.             <goals>
  9.                 <goal>signgoal>
  10.             goals>
  11.         execution>
  12.     executions>
  13. plugin>

5) 如果是java web项目,javadoc可能会报错:找不到类javax.servlet.ServletContext,可以添加依赖:

  1. <dependency>
  2.     <groupId>javax.servletgroupId>
  3.     <artifactId>javax.servlet-apiartifactId>
  4.     <version>3.0.1version>
  5.     <scope>providedscope>
  6. dependency>

6) POM编写可参考https://github.com/ACC-GIT/ACCWeb/blob/master/pom.xml

步骤四:release和提示同步。
先在https://oss.sonatype.org/#stagingRepositories进行close,release等操作(注意这里会检测)
然后在issue中回复服务人员,提出同步到中央库(半天左右)。

摘自「互联网」