GitHub 관 리 를 이용 한 소프트웨어 를 Maven Central Repository 중 하나 에 업로드 합 니 다.

필 자 는 최근 에 자체 적 으로 오픈 소스 프로젝트 인 PortletTester 를 개 발 했 는데 코드 는 GitHub 에 맡 기 고 Maven 을 구축 도구 로 사용 했다.사용 하기 편 하도록 Maven 의 Central Repository 에 프로젝트 를 올 리 기로 했 습 니 다.그러면 Maven 을 똑 같이 사용 하 는 다른 사람들 이 사용 하려 면 PortletTester 를 pom.xml 의 dependency 에 넣 으 면 됩 니 다.GitHub 사이트 에 jar 가방 을 올 리 지 않 고 프로젝트 에 의존 하 는 가방 도 다운로드 해 야 합 니 다.
이 과정 은 상당히 우여곡절 했다 고 할 수 있다.몇 밤 동안 의 연 구 를 통 해 프로젝트 의 첫 번 째 버 전 을 성공 적 으로 발표 했다.지금 은 절차 와 직면 한 문 제 를 기록 하여 필요 한 사람 이나 자신 이 나중에 찾 아 볼 수 있 도록 한다.본 고 는 Sonatype Nexus 를 대리 창고 로 사용 합 니 다.즉,소프트웨어 를 여기에 발표 한 다음 에 Maven 의 Central Repository 에 동기 화 하 는 것 을 도와 주 는 것 이 현재 가장 간단 하고 효과 적 인 방법 인 것 같다.
우선,pom.xml 파일 을 수정 하여 다음 과 같은 요 구 를 만족 시 킵 니 다.
아래 의 라벨 은 정확 하 다   
   
   
   
   
   
   
   
   
   
   
   
  • 파일 에는태그 가 포함 되 어 있 지 않 습 니 다
  • 프로젝트 코드 가 GitHub 등 오픈 소스 프로젝트 사이트 에 위탁 관리 된다 면는 반드시 com.github.<사용자 이름>또는 자신 이 가지 고 있 는 도 메 인 중 하나 여야 합 니 다
  • 탭 은 SNAPSHOT 가 있어 야 합 니 다.예 를 들 어 1.0-SNAPSHOT 입 니 다.그렇지 않 으 면 release:prepare 에서 사용 가능 한 SNAPSHOT 버 전이 없다 고 잘못 알 릴 수 있 습 니 다
  • 정보 가 정확 한 지 확인 한 후 pom.xml 에 추가 합 니 다.
    
    <profiles>
      	<profile>
    		<id>release-sign-artifacts</id>
    		<activation>
    		  <property>
    			<name>performRelease</name>
    			<value>true</value>
    		  </property>
    		</activation>
    		<build>
    		  <plugins>
    			<plugin>
    			  <groupId>org.apache.maven.plugins</groupId>
    			  <artifactId>maven-gpg-plugin</artifactId>
    			  <version>1.1</version>
    			  <executions>
    				<execution>
    				  <id>sign-artifacts</id>
    				  <phase>verify</phase>
    				  <goals>
    					<goal>sign</goal>
    				  </goals>
    				</execution>
    			  </executions>
    			</plugin>
    		  </plugins>
    		</build>
    	</profile>
      </profiles>
    

    이 프로필 은 mvn release:perform 을 실행 할 때 유효 하 며,수 정 된 소프트웨어 를 다운로드 하지 않도록 발 표 된 소프트웨어 에 디지털 서명 을 하 는 역할 을 합 니 다.
    pom.xml 파일 에 계속 추가:
    
    <build>
      	<plugins>
      		<plugin>
    		  <groupId>org.apache.maven.plugins</groupId>
    		  <artifactId>maven-source-plugin</artifactId>
    		  <executions>
    			<execution>
    				<id>attach-sources</id>
    				<goals>
    					<goal>jar</goal>
    				</goals>
    			</execution>
    		  </executions>
    		</plugin>
    		<plugin>
    		  <groupId>org.apache.maven.plugins</groupId>
    		  <artifactId>maven-javadoc-plugin</artifactId>
    		  <executions>
    			<execution>
    			  <id>attach-javadocs</id>
    			  <goals>
    				<goal>jar</goal>
    			  </goals>
    			</execution>
    		  </executions>
    		</plugin>
      	</plugins>
      </build>
    

    Maven Central Repository 에 제출 된 오픈 소스 소프트웨어 는 해당 하 는 sources.jar 와 javadoc.jar 파일 이 있어 야 하기 때문에 이 두 플러그 인 을 추가 하면 필요 한 파일 을 자동 으로 생 성 할 수 있 습 니 다.
    pom.xml 파일 을 계속 수정 하고 추가:
    
    <distributionManagement>
            <repository>
                <id>nexus-releases</id>
                <name>Nexus Repository</name>
                <url>http://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
            </repository>
        </distributionManagement>
    

    이것 은 소프트웨어 를 발표 할 때의 목표 창고 입 니 다.만약 당신 이 발표 한 것 이 Sonatype Nexus 가 아니라면 URL 은 상응 하 게 수정 해 야 합 니 다.
    여기까지 pom.xml 파일 이 수정 되 었 습 니 다.다음은 다른 절 차 를 진행 하 겠 습 니 다.클릭 하 세 요
    2 편 보기.

    좋은 웹페이지 즐겨찾기