总体上来讲可以分为三步骤:
- 创建工单
- 构建上传项目源文件,发布上传的资源到maven中央仓库
- 在中央仓库搜索上传的文件
创建工单
登录 mavenrepository 官网 https://issues.sonatype.org/
若没有账号需要注册,注册以后记录用户名与密码,之后会用到、
-
登录系统以后按照以下步骤操作:
step1:点击create,点击后出现一下弹出页面
step2:Project选择Community Support - Open Source Project Repository Hosting (OSSRH),Issue TypeRequired 选择New Project
step3: 填写groupId(最好写为com.github.项目名称的形式,不然不容易通过审核)
step4:填写Project URL (如果代码托管在给github上的话,写项目地址)
step5:填写SCM url(填写项目的github仓库地址)
step6 :点击右下方 Create,完成创建
创建完成后,工单状态为open,需要管理员审核,审核通过后的状态为Resolved,状态为Resolved后才能上传组件到maven仓库
整理项目以及maven配置
- 配置项目所使用的maven的settings.xml,由于IDE可以创建自己的settings.xml,因此自己使用那个settings.xml配置哪一个,配置方式如下:
<server>
<id>sonatype-nexus-snapshots</id>
<username>第一步中的用户名</username>
<password>第一步中使用的密码</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>第一步中的用户名</username>
<password>第一步中使用的密码</password>
</server>
- 配置项目pom,配置方式如下:
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>6</version>
</parent>
<!-- 添加licenses -->
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<!-- 添加scm -->
<scm>
<url> https://github.com/crazyxxl/jwt</url>
<connection>https://github.com/crazyxxl/jwt.git</connection>
<developerConnection>https://github.com/crazyxxl/jwt</developerConnection>
</scm>
<!-- 添加开发者 -->
<developers>
<developer>
<name>crazyxxl</name>
<email>*******@qq.com</email>
</developer>
</developers>
<!-- 添加打包加密插件gpg -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 安装gpg(linux下面自带该工具,window下自行安装)
gpg --gen-key
此过程需要输入用户名以及密码,牢记密码,后面上传的时候需要输入
- 上传
mvn clean deploy -P sonatype-oss-release
在此过程会要求输入上一步中输入的密码,之后会出现一堆的uploading ,显示successful上传完成
-
发布
step1:登录https://oss.sonatype.org/#stagingRepositories
step2:找到自己上传的项目
step3: 点击Release
- 审核通过以后,会受到一封邮件
Central sync is activated for com.github.crazyxxl. After you successfully release, your component will be published to Central, typically within 10 minutes, though updates to search.maven.org can take up to two hours.
简单意思就是说,在10 分钟左右,就可以在maven主仓搜索到你的组件了
搜索组件
- 转至:http://search.maven.org/
- 按照groupId或这artifictId搜索
- 结束
外加自己写的一个关于javaWeb Token的小组件,maven引用
<dependency>
<groupId>com.github.crazyxxl</groupId>
<artifactId>spring-boot-start-demo-jwt</artifactId>
<version>0.0.1-RELEASE</version>
</dependency>
项目地址为:https://github.com/crazyxxl/jwt 欢迎使用