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弹窗:
根据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
希望找到前人, 结识来者.
今天为了尝试发布, 运行"$ 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解决问题.