开发环境
概述
本文主要描述基于IDEA + Maven的项目打包、本地测试、snapshot发布、release发布等内容。
本文主要记录基于IDEA + Maven如何提交开源库到中央仓库的过程,包括
- 账号申请
- maven配置
- pom源信息配置
- 与审核人员沟通
- snapshot发布/测试
- release发布
中央仓库
代码仓库为开发者提供统一、便捷、规范的代码服务。注意,这里的仓库并不是git/svn一类的源码管理库,而是提供插件安装、模块扩展、 快速构建的模块服务库,就像npmjs样。
账号申请
使用所有公共服务前,第一步总是注册账号
maven配置
找到IDEA的maven设置或自己重写一个
settings.xml中有很多配置,但关系到发布仓库的只需要指定server即可
<server>
<id>ossrh</id>
<username>holyhigh</username>
<password>holyhighspwd</password>
</server>
注意配置文件中的id,他必须和pom中的发布管理仓库id一致
pom配置
为了提供库信息,pom文件中需要加入一些描述信息包括
<!-- 许可协议 -->
<licenses>
<license>
<name>MIT License</name>
<url>http://www.opensource.org/licenses/mit-license.php</url>
</license>
</licenses>
<!-- 开发者信息 -->
<developers>
<developer>
<name>holyhigh</name>
<email>holyhigh2@hotmail.com</email>
</developer>
</developers>
<!-- 源码管理 -->
<scm>
<connection>https://github.com/holyhigh2/juth2-server</connection>
<developerConnection>https://github.com/holyhigh2/juth2-server.git</developerConnection>
<url>https://github.com/holyhigh2/juth2-server/tree/master</url>
</scm>
<!-- 发布管理 -->
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
其他项目配置可以参考开发自启动的boot依赖包
与审核人员沟通
人工审核这点显然没有npmjs这样自动审核来的方便,但也许仓库管理者觉得这样可以避免一些版权问题或者恶意注册 —— 比如管理员会要求你证明源码库是你自己的源码库。
首先,你需要登录sonatype(按照本文开头的OSSRH指南)并创建一个发布库的“问题”(没错,要发布库需要发布一个问题并等待管理员接单)
然后管理员会要求你验证源码库
按要求执行完后,你可以通过注释留言或者点击“响应”按钮通知管理员复核。然后他会告诉你下一步怎么做
此时,你可以通过IDEA集成的maven工具上传代码了
snapshot发布/测试
在发布正式release之前,通常会发布预览版/公测版,也就是snapshot。它的好处是可以方便的快速更迭 —— 只需要写好settings & pom文件就可以一键发布了
发布成功后就可以在主项目中引入这个依赖进行使用/测试了
<dependency>
<groupId>com.github.holyhigh2</groupId>
<artifactId>juth2-server</artifactId>
<version>0.1.2-SNAPSHOT</version>
</dependency>
release发布
经过snapshot测试后就可以发布稳定版本。