Java

Maven Central Repository用に新しく申請したgroup idでpublishしようとすると400 Bad Requestで失敗する

自前ライブラリの公開用のgroup id、会社名が入っている"com.samuraism"を使うのはなんとなく抵抗感があるのではないかと思い、新たに"cafebabe.one"というドメインを取得ました。Javaっぽくて良いでしょ?

そしてgroup idを申請してGradleでpublishしたところ、以下のように失敗しました。

./gradlew clean publish
> Task :publishMavenJavaPublicationToMavenRepository FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':publishMavenJavaPublicationToMavenRepository'.
> Failed to publish publication 'mavenJava' to repository 'maven'
> Could not PUT 'https://oss.sonatype.org/service/local/staging/deploy/maven2/one/cafebabe/businessCalendar4j/1.21/businessCalendar4j-1.21.jar'. Received status code 400 from server: Bad Request

問い合わせたところ、oss.sonatype.orgではなくs01.oss.sonatype.orgにpublishすべきなのだそうです。(Jiraのチケットもちゃんと読んだところ最初からそのようにインストラクトがありました)

以下にアナウンスがありますが、jCenterの閉鎖予告もあり最近ユーザー数が急増してスケーリングが追いついておらず、別のsonatypeインスタンスを建てたそうです。
New Users on s01.oss.sonatype.org

近年oss.sonatype.orgは重たくなってきていて、不安定な日も多かったので回避策を施してくれたのは嬉しいですね。

既存ユーザーは関係ないと思っていましたが新規に申請したgroup idはs01.oss.sonatype.orgにpublishしなければならないようです。https://oss.sonatype.orgのユーザー/パスワードでhttps://s01.oss.sonatype.orgにログインもpublishもできました。(s01で新しいgroup idが用意されたタイミングでユーザーが同期されるようです)

現在https://oss.sonatype.orgのパフォーマンスを改善すべく調査中で、https://oss.sonatype.orgが消えてなくなることはありません。

最近oss.sonatype.orgへpublishしてreleaseしたartifactは1時間〜6時間くらいでMaven Central Repositoryに同期されていましたが、s01.oss.sonatype.orgのartifactはものの数分で同期されました!