註冊賬戶
發佈問題(創建新的工程)
https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
摘要:項目名稱
Group Id:組名 這裏要用自己的域名的話一定要保證有域名的所有,後面會讓你添加dns記錄來驗證
Project URL倉庫地址 SCM URL git地址
之後創建
等待回覆 會讓你添加DNS記錄
添加後回覆,這個地址要使用這個工具才能訪問,直接執行命令後面跟着地址就行
等待回覆之後就能上傳了,他說上傳之後回覆
這裏我使用Gradle
加上這2個插件
plugins {
id 'maven-publish'
id 'signing'
}
doc 和 source
java {
withJavadocJar()
withSourcesJar()
}
發佈配置
配置後先別刷新
publishing {
//配置倉庫
repositories {
//本地倉庫
def ENV = System.getenv()
if (ENV.MAVEN_URL) {
maven {
url ENV.MAVEN_URL
}
}
//遠程倉庫
maven {
url "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username ossrhUsername
password ossrhPassword
}
}
}
publications {
mavenJava(MavenPublication) {
groupId project.group
artifactId project.name
version project.version
from components.java
//pom其他信息 這個必須加上不然等會發布驗證不會通過
pom {
name = 'accessor'//項目名
description = 'Bytecode framework for java, Invoke private field and method'//描述
url = 'https://github.com/Enaium/accessor/'//地址
//協議
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
//開發者信息
developers {
developer {
id = 'enaium'
name = 'Enaium'
email = '[email protected]'
}
}
//git地址
scm {
connection = 'scm:git:https://github.com/Enaium/accessor.git'
developerConnection = 'scm:git:https://github.com/Enaium/accessor.git'
url = 'https://github.com/Enaium/accessor/'
}
}
}
}
}
//簽名 這個放到最後
signing {
sign publishing.publications.mavenJava
}
在用戶根目錄的.gradle
裏配置gradle.properties
signing.keyId=id
signing.password=密碼
signing.secretKeyRingFile=文件路徑.gpg
ossrhUsername=賬戶名
ossrhPassword=密碼
下載工具
打開 kleopatra
創建
之後填上名字和郵箱
配置的ID填上後8位
導出
加密導出
設置密碼
管理員運行命令
gpg --export-secret-keys -o 文件路徑.gpg
上傳到服務器
gpg --keyserver https://keys.openpgp.org --send-keys --send-keys 8位ID
好了 刷新Gradle
發佈
在那個問題回覆已經上傳
回覆之後就訪問
https://s01.oss.sonatype.org/#stagingRepositories
輸入賬戶密碼登錄
選中一個倉庫groud_id-xxxx
,點上方的Close
如果成功的話再點,Close右邊的release就行了 首發於Enaium的個人博客
如果失敗了的話點Activity產看信息
過一會收到信息
之後可以再 https://search.maven.org/ 搜索到包
上傳到Maven中央倉庫是不是很麻煩