top / index / prev / next / target / source

2017-10-07 diary: [Sonatype][Maven] Java プロジェクトを新規に Maven Repos に投入

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

[Sonatype][Maven] Java プロジェクトを新規に Maven Repos に投入

プロジェクトを新しく Maven Repos に登録しようとしたときのメモです。Maven Repos への投入は、いまだに慣れていません。

あらためて Sonatypeの説明 を見ながら設定を見直しましたが、結局、Maven デフォルトのプラグインを用いた方法を継続利用することにしました。

まず、そもそも登録しようと https://issues.sonatype....OSSRH-28009 チケットを作成したのですが、これはチケットへの Joel さん回答によると、私はすでに jp.igapyon で登録済みだから、Sonatype への登録作業に向けてはこの申請は不要であり既に実施可能状態とのことでした。 なお、Sonatype 登録の際に、デプロイチェックにて Javadoc の記述が不足気味であることが判明しましたので、 Javadoc を記述しました。

Maven 基本プラグインでリリースする場合は、以下のコマンドでのリリースになります。

mvn release:prepare
mvn release:perform

正式リリースの際に使った手順。

テストビルドの Sonatype ステージング場所は以下です。こちらは、デプロイから反映までのタイムラグはほとんどないと思っています。(しかしいまいち自信がありません)

https://oss.sonatype.org...jp/igapyon/

ステージングから初の昇格の場合には、GUI から操作します。

正式リリース物は、セントラルのパスを確認します。 * http://central.maven.org...jp/igapyon/ * デプロイから反映までにそこそこ時間がかかるので注意が必要です。

リポジトリ連携の動作確認

Sonatype 上のリポジトリに期待どおりに配備されていることは、以下のような pom.xml 設定を利用して確認できます。

pom.xml for Sonatype

    <repositories>
        <repository>
            <id>oss-sonatype</id>
            <name>oss-sonatype</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>jp.igapyon.blanco.apex.parser</groupId>
            <artifactId>blancoApexParser</artifactId>
            <version>1.5.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

いつも忘れる settings.xml

リリースのたびに、settings.xml の設定を忘れていることに気が付き、、、。これが無いと Sonatype リリースにて認証エラーが発生します。

.m2/settings.xml

<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>username-of-sonatypejira</username>
      <password>password-of-sonatypejira</password>
    </server>
  </servers>
</settings>

Last modified: $Date: 2017-10-07 $

登場キーワード


この日記について