내 스냅 샷과 함께 소스와 자바 문서를 배포하고 싶습니다. 즉, 다음 명령을 자동화하려고합니다.
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를 망칠 필요가 없었기 때문에 좋았습니다.