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에 성공적으로 업로드되어 다른 개발자들이 쉽게 접근할 수 있게 됩니다.