>  기사  >  Java  >  Java 오픈 소스 개발자 가이드: Maven Central에 빌드 및 배포

Java 오픈 소스 개발자 가이드: Maven Central에 빌드 및 배포

王林
王林원래의
2024-07-29 16:45:10962검색

목차

  • 아직 GitHub 계정이 없다면 계정을 만드세요
  • Maven Central Repository 계정 신청
  • 자바 문서
  • 배포 구성
  • GPG
  • 개발자 정보
  • 소스코드 관리(SCM)
  • 저작권 고지(라이센스)
  • 예시 POM 파일

Maven 중앙 저장소에 서명

네임스페이스 등록

무료 네임스페이스를 사용하실 수 있도록 꼭 github으로 로그인해주세요

원문
이 팝업이 표시되지 않고 GitHub에 가입한 경우 Sonatype은 GitHub 구독의 일부로 GitHub에서 github.io 도메인을 제공하는 네임스페이스에 대한 권한을 자동으로 부여할 수 있습니다. 이는 귀하의 사용자 이름을 반영하고 해당 도메인에 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 공개키 서버가 두 개 있습니다

  • 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:사이버 보안의 AI다음 기사:사이버 보안의 AI