Maison  >  Article  >  Java  >  Guide du développeur Java Open Source : créer et déployer sur Maven Central

Guide du développeur Java Open Source : créer et déployer sur Maven Central

王林
王林original
2024-07-29 16:45:101022parcourir

Table des matières

  • Créez un compte GitHub si vous n'en avez pas encore
  • Demander un compte Maven Central Repository
  • Java Doc
  • Configuration de déploiement
  • GPG
  • Informations pour les développeurs
  • Gestion du code source (SCM)
  • Avis de droit d'auteur (licences)
  • Exemple de fichier POM

Signer le référentiel central Maven

Enregistrer l'espace de noms

Assurez-vous de vous connecter avec github, afin de pouvoir utiliser l'espace de noms gratuit

Texte original
Si vous ne voyez pas cette fenêtre contextuelle ET que vous vous êtes inscrit sur GitHub, alors Sonatype a pu vous accorder automatiquement des autorisations sur l'espace de noms associé à votre identité GitHub. Dans le cadre de votre abonnement GitHub, GitHub vous fournit un domaine github.io. qui reflète votre nom d'utilisateur et vous permet de publier des pages GitHub sous ce domaine. Pour cette raison, Sonatype peut, dans la plupart des cas, vérifier et fournir automatiquement un accès de publication à un espace de noms qui ressemble à io.github..

.

Configuration de déploiement

trouver un espace de noms

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

Assurez-vous que les informations sont cohérentes

<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>

Générer un jeton utilisateur

Afficher le compte > Générer un jeton utilisateur
Une fois terminé, les informations requises par settings.xml seront obtenues
Java開源開發者指南:構建並部署到Maven Central

Spécifiez le serveur (settings.xml)

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

Spécifier les paramètres du serveur de référentiel central 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

Générer un document Java à l'aide du plugin Maven

<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

Générer une paire de clés GPG

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

Plugin de signature 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>

Télécharger la clé publique GPG

Il existe deux célèbres serveurs de clés publiques GPG

  • 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

Informations sur le développeur

<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>

GDS

<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>

Licences

<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>

Exemple de POM

object-pool-maven-lib

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:L'IA en cybersécuritéArticle suivant:L'IA en cybersécurité