ホームページ  >  記事  >  Java  >  Java オープンソース開発者ガイド: Maven Central のビルドとデプロイ

Java オープンソース開発者ガイド: Maven Central のビルドとデプロイ

王林
王林オリジナル
2024-07-29 16:45:10962ブラウズ

目次

  • まだ GitHub アカウントをお持ちでない場合は、作成してください
  • Maven Central Repository アカウントを申請する
  • Java ドキュメント
  • 展開構成
  • GPG
  • 開発者情報
  • ソースコード管理 (SCM)
  • 著作権に関する通知 (ライセンス)
  • POM ファイルの例

Maven 中央リポジトリに署名する

名前空間の登録

無料のネームスペースを利用できるよう、必ずgithubでログインしてください

原文
このポップアップが表示されず、GitHub にサインアップした場合、Sonatype は、GitHub サブスクリプションの一部として、GitHub ID に関連付けられた名前空間へのアクセス許可を自動的に付与できます。これにより、ユーザー名が反映され、そのドメインで GitHub ページを公開できるようになります。このため、Sonatype は、ほとんどの場合、io.github..

のような名前空間への公開アクセスを自動的に検証してプロビジョニングできます。

デプロイメント構成

名前空間を見つける

Java開源開發者指南:構建並部署到Maven Central
Java開源開發者指南:構建並部署到Maven Central

情報に一貫性があることを確認してください

<groupId>io.github.internetms52</groupId>
<artifactId>object-pool</artifactId>
<version>0.1.3</version>
<name>object-pool</name>
<packaging>jar</packaging>
<url>https://github.com/internetms52/object-pool-maven-lib</url>
<description>This is a library that implements an Object Pool, and it supports nested object creation as well as constructor specification.</description>

ユーザートークンの生成

アカウントの表示 > ユーザー トークンの生成
完了すると、settings.xmlで必要な情報が取得されます
Java開源開發者指南:構建並部署到Maven Central

サーバー指定(settings.xml)

<settings>
    <servers>
        <server>
            <id>central</id>
            <username>XXXXXX</username>
            <password>YYYYYY</password>
        </server>
    </servers>
</settings>

Maven セントラル リポジトリ サーバー設定の指定 (pom.xml)

<plugin>
    <groupId>org.sonatype.central</groupId>
    <artifactId>central-publishing-maven-plugin</artifactId>
    <version>0.5.0</version>
    <extensions>true</extensions>
    <configuration>
        <publishingServerId>central</publishingServerId>
    </configuration>
</plugin>

Javadoc

Maven プラグインを使用して Java ドキュメントを生成する

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <execution>
            <id>attach-javadocs</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

GPG

GPG キーペアの生成

sudo apt-get install gnupg
gpg --full-generate-key
gpg --list-keys

GPG署名プラグイン

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>3.0.1</version>
    <executions>
        <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
                <goal>sign</goal>
            </goals>
            <configuration>
                <gpgArguments>
                    <arg>--pinentry-mode</arg>
                    <arg>loopback</arg>
                </gpgArguments>
            </configuration>
        </execution>
    </executions>
</plugin>

GPG公開キーをアップロードする

有名な GPG 公開鍵サーバーが 2 つあります

  • pgp.mit.edu
  • keyserver.ubuntu.com
gpg --keyserver hkp://pgp.mit.edu --send-keys F1BD06AB06C36BD5EB53B6E8710DEC40549547D2
gpg: sending key 710DEC40549547D2 to hkp://pgp.mit.edu

gpg --keyserver hkp://keyserver.ubuntu.com --send-keys F1BD06AB06C36BD5EB53B6E8710DEC40549547D2
gpg: sending key 710DEC40549547D2 to hkp://keyserver.ubuntu.com

開発者情報

<developers>
    <developer>
        <name>LU.YU HSIN</name>
        <email>yourmail@mail.com</email>
        <organization>internetms52</organization>
        <organizationUrl>https://github.com/internetms52/object-pool-maven-lib</organizationUrl>
    </developer>
</developers>

SCM

<scm>
    <connection>scm:git:git@github.com:internetms52/object-pool-maven-lib.git</connection>
    <developerConnection>scm:git:git@github.com:internetms52/object-pool-maven-lib.git</developerConnection>
    <url>https://github.com/internetms52/object-pool-maven-lib</url>
</scm>

ライセンス

<licenses>
    <license>
        <name>Apache License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>

POM の例

オブジェクトプール-maven-lib

以上がJava オープンソース開発者ガイド: Maven Central のビルドとデプロイの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。