[java] 소스 및 JavaDoc으로 SNAPSHOT을 배포하는 방법은 무엇입니까?

내 스냅 샷과 함께 소스와 자바 문서를 배포하고 싶습니다. 즉, 다음 명령을 자동화하려고합니다.

mvn clean source:jar javadoc:jar deploy

실행하기 :

mvn clean deploy

install단계 (예 : 로컬 빌드) 중에 javadoc / sources 생성을 실행하고 싶지 않습니다 .

소스 / javadoc 플러그인이 플러그인 실행과 동기화 될 수 있다는 것을 알고 release있지만이를 스냅 샷 릴리스에 연결하는 방법을 알 수 없습니다.



답변

<build>
  <plugins> 
    <plugin>
      <artifactId>maven-source-plugin</artifactId>
      <executions>
        <execution>
          <id>attach-sources</id>
          <phase>deploy</phase>
          <goals><goal>jar-no-fork</goal></goals> 
        </execution>
      </executions>
    </plugin>
    <plugin> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>attach-javadocs</id>
          <phase>deploy</phase>
          <goals><goal>jar</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
    <plugin> 
      <!-- explicitly define maven-deploy-plugin after other to force exec order -->
      <artifactId>maven-deploy-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>deploy</id>
          <phase>deploy</phase>
          <goals><goal>deploy</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
  </plugins> 
</build>

전체 예제는 Sonatype의 OSS 상위 POM 을 참조하십시오 .


답변

플러그인 구성을 할 필요가없는 대안을 추가하려면 :

mvn -DperformRelease=true [goals]

크레딧은 http://sea36.blogspot.com/2009/02/attaching-javadocs-and-sources-to-maven.html?showComment=1314177874102#c6853460758692768998 에서 mcbeelen으로 이동합니다 .


답변

Dan이 언급 한 기사는 poms를 수정하지 않고 작동하며 곧 사라지지 않을 또 다른 접근 방식을 언급합니다.

mvn clean javadoc : jar 소스 : jar 설치

Maven 3+와 함께 잘 작동합니다.

mvn clean javadoc : jar 소스 : jar 배포

Jenkins에서 Nexus에 배포하는 것을 테스트했습니다.

이 접근 방식은 Jenkins 작업을 일부 수정하기 만하면되었고 내 poms를 망칠 필요가 없었기 때문에 좋았습니다.


답변