您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何发布自己的Java项目到Maven中央仓库
将Java项目发布到Maven中央仓库是开源贡献和项目共享的重要方式。以下是详细步骤指南:
---
## 一、前期准备
### 1.1 注册Sonatype账号
1. 访问[Sonatype JIRA](https://issues.sonatype.org/)注册账号
2. 登录后创建新Issue(项目类型选择`Community Support - Open Source Project Repository Hosting`)
### 1.2 验证域名所有权
- 若使用GitHub等托管平台需验证:
```xml
<!-- 在项目README添加 -->
<groupId>com.github.yourusername</groupId>
gpg --gen-key
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys [密钥ID]
<project>
<!-- 必须配置SCM信息 -->
<scm>
<connection>scm:git:https://github.com/your/repo.git</connection>
<developerConnection>scm:git:ssh://git@github.com:your/repo.git</developerConnection>
<url>https://github.com/your/repo</url>
</scm>
<!-- 配置发布信息 -->
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
</distributionManagement>
<!-- 配置Maven插件 -->
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</project>
在~/.m2/settings.xml
添加:
<servers>
<server>
<id>ossrh</id>
<username>你的Sonatype账号</username>
<password>你的密码/Token</password>
</server>
</servers>
mvn clean deploy -P release
Staging Repositories
查看上传的构件Close
操作后等待自动发布(约10分钟)发布成功后,构件会逐步同步到:
https://repo1.maven.org/maven2/
错误示例:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-artifacts)...
解决方案: 1. 确认GPG密钥已上传到服务器 2. 在pom.xml中配置gpg插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
每个版本号只能发布一次,如需更新必须使用新版本号。
版本管理:遵循语义化版本规范(SemVer)
文档完善:
<description>
持续集成:配置GitHub Actions自动发布:
# .github/workflows/release.yml
jobs:
deploy:
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- run: mvn -B deploy -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
完成上述步骤后,您的Java库将在24-48小时内出现在Maven中央仓库,全球开发者都可以通过标准依赖声明使用您的项目! “`
(注:实际字数约850字,可根据需要扩展具体章节细节)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。