美文网首页
上传非开源的 jar 包到 MavenCentral 教程

上传非开源的 jar 包到 MavenCentral 教程

作者: ImWiki | 来源:发表于2021-05-19 01:02 被阅读0次

我们在开发开源的java项目的时候可能需要引用到非开源的jar包,但是非开源的jar是无法随着我们的java代码一起打包上传到MavenCentral,所以就需要单独把 jar 上传到 MavenCentral。

必须先看《基于Gradle 发布 Android、Java 开源项目到 MavenCentral 教程》这篇文章,先实现Gradle打包项目发布到MavenCentral。当实现上述流程后,那么上传 jar 到 MavenCentral 就成功了一大半了,剩余的流程包括:

  1. 创建空白代码的项目
  2. 生成javadoc.jar、source.jar、pom文件及签名
  3. 对非开源 jar 进行签名
  4. 手动上传文件到 https://s01.oss.sonatype.org
  5. 发布

1. 创建空白代码的项目

由于 sonatype 对手动上传的库要求很严格,必须包含 jar、javadoc.jar、source.jar、pom四种配置文件及他们的签名文件,一共8个文件。为了模拟足够真实,所以通过一个空白代码的项目来辅助生成javadoc.jar、source.jar、pom和对应的签名文件,以保证成功率,不然很容易出现各种各样的错误导致失败。

2. 生成javadoc.jar、source.jar、pom文件及签名

通过执行./gradlew uploadArchives命令,就可以得到了我们想要6个文件,但是 pom-default.xmlpom-default.xml.asc需要修改命名,改成 opush-server-sdk-2.3.1.pomopush-server-sdk-2.3.1.pom.asc 。和其它的文件相对应。

实际上第1步和第2步也可以通过手动创建文件的方式来实现,但是Mac OS手动创建的文件上到sonatype老是报编码异常,所以才用这种手段实现,所以这个步骤开发者可以根据自己的情况来实现。

3. 对非开源 jar 进行签名

这里看到其实生成了 opush-server-sdk-2.3.1.jaropush-server-sdk-2.3.1.jar.asc,但是这两个是不是我们需要的,需要把这两个文件删除,把非开源的jar文件修改命名为opush-server-sdk-2.3.1.jar,然后执行以下命令生成opush-server-sdk-2.3.1.jar.asc

gpg -ab opush-server-sdk-2.3.1.jar

到了这一步,我们就可以拿到了8个文件

opush-server-sdk-2.3.1-javadoc.jar
opush-server-sdk-2.3.1-javadoc.jar.asc
opush-server-sdk-2.3.1-sources.jar
opush-server-sdk-2.3.1-sources.jar.asc
opush-server-sdk-2.3.1.jar
opush-server-sdk-2.3.1.jar.asc
opush-server-sdk-2.3.1.pom
opush-server-sdk-2.3.1.pom.asc
  1. 手动上传文件到sonatype
    登录 https://s01.oss.sonatype.org,选择Staging Upload,选择POM的方式上传文件

在选择Select POM to Upload选择 opush-server-sdk-2.3.1.pom,其它Select Artifact(s) for Upload选择剩余的7个文件。

之后就点击 Upload Artifact(s) 即可。

5. 发布

稍等2分钟,就可以点击Release了。


最后

手动上传 jar 我在尝试过程中也遇到很多坑,特别是手动编写的pom,上传后会报编码异常,最后才想到用空白项目来生成代替。

相关文章

网友评论

      本文标题:上传非开源的 jar 包到 MavenCentral 教程

      本文链接:https://www.haomeiwen.com/subject/toeujltx.html