仓库源文站点原文


layout: post comments: true title: 在Maven Central发布中文API的Java库 description: 开发一个简单的Java库, 通过sonatype发布到Maven主库. Publish Java library with APIs in Chinese on Maven Central, through Sonatype. date: 2017-07-20 00:00:00 -0700 categories: 命名 API


知乎原链

相关问题: 哪些Java库有中文命名的API?

且记下随想.

之前没有发布过, 看了SO上的推荐:Publish a library to maven repositories 决定在sonatype发布. sonatype发布开源软件库的步骤写的蛮详细, 不过一些细节比如命令行指令可能有段时间没更新了. 比如有个坑是发布gpg的公开秘钥, 指定server的时候如果有hkp://前缀的话就报错 no route to host, 不知是否因为我用的gpg2, 试了各种才发现去掉前缀就行了.

在命名上, API方法和参数以及类名都用了中文. 下面是Eclipse中的Javadoc弹窗:

中文API的Java库

根据Guide to Naming Conventions, groupid还是沿用了域名命名, artifactiId也还是用英文. 以后可能试试中文artifactId, 应该不算"strange symbols".

发布了几个小版本, 感觉有时需要一个多小时在pom里引用, 更新还算蛮快.

<dependency>
  <groupId>com.github.nobodxbodon</groupId>
  <artifactId>zhconverter</artifactId>
  <version>0.0.5</version>
</dependency>

项目源码: program-in-chinese/zhconverter

希望找到前人, 结识来者.


2017.12.19

今天为了尝试发布, 运行"$ mvn clean deploy -P release". 但报错:

    gpg: selecting openpgp failed: Operation not supported by device
    gpg: signing failed: No pinentry
    gpg: signing failed: No pinentry

不知何故, 但重装GnuPG解决问题.