─━ IT ━─

Java 프로젝트를 Maven Central Repository에 업로드하는 방법

DKel 2024. 11. 4. 20:19
반응형
Maven Central Repository에 Java 라이브러리를 업로드하면 다른 개발자들이 당신의 라이브러리를 쉽게 사용할 수 있습니다. 이를 위해서는 몇 가지 단계가 필요합니다. 이 문서에서는 Maven 프로젝트를 설정하고, 필요한 정보를 준비하고, 배포하는 방법을 살펴보겠습니다.

 
1. **프로젝트 설정**
   - 먼저 `pom.xml` 파일을 정확히 설정해야 합니다. 이를 위해선 groupId, artifactId, version을 명확히 지정해야 합니다.
   
   ```xml
   <project xmlns="http://maven.apache.org/POM/4.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.example</groupId>
       <artifactId>my-library</artifactId>
       <version>1.0.0</version>
       <!-- 기타 필요한 설정 -->
   </project>
   ```
 
2. **Sonatype 계정 생성 및 프로젝트 등록**
   - Maven Central에 배포하려면 Sonatype 계정이 필요합니다. 계정 생성 후, JIRA를 통해 'New Project Request'를 작성하여 프로젝트 정보를 등록합니다.
 
3. **GPG 키 생성 및 설정**
   - Maven Central에 업로드할 패키지는 GPG로 서명되어야 합니다. GPG 키를 생성하고, 이를 설정해줍니다.
   
   ```bash
   gpg --gen-key
   ```
 
   - 생성된 키의 id를 확인합니다.
   
   ```bash
   gpg --list-keys
   ```
 
4. **`pom.xml`에 서명 플러그인 추가**
   - `pom.xml`에 `maven-gpg-plugin`을 추가하여 아티팩트를 서명합니다.
 
   ```xml
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-gpg-plugin</artifactId>
               <version>1.6</version>
               <executions>
                   <execution>
                       <id>sign-artifacts</id>
                       <phase>verify</phase>
                       <goals>
                           <goal>sign</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>
   ```
 
5. **Nexus Repository에 배포**
   - Sonatype의 Nexus를 통해 업로드한 라이브러리를 확인한 후 staging repository로 배포합니다. `mvn clean deploy` 명령어를 사용하여 라이브러리를 업로드합니다.
   
   ```bash
   mvn clean deploy -P release
   ```
 
6. **Maven Central로 릴리즈**
   - Nexus Repository Manager에서 staging repository를 활성화한 후, 라이브러리를 릴리즈하여 Maven Central에 공개합니다.
 
이러한 단계들을 완료하면, 프로젝트가 Maven Central에 성공적으로 업로드되어 다른 개발자들이 쉽게 접근할 수 있게 됩니다.

반응형