태그를 지정하는 동안 mvn release:prepare가 실패하는 이유는 무엇입니까?
문제
다중 프로젝트 pom을 사용하면 release:prepare를 실행하는 동안 오류가 발생합니다.제대로 실행되기 전의 프로젝트 설정과 모든 릴리스 단계에는 멋진 것이 없습니다.내가 얻는 오류는 다음과 같습니다.
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Unable to tag SCM Provider message: The svn tag command failed. Command output: svn: Commit failed (details follow): svn: File '/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml' already exists
그것이 어디서 왔는지, 어떻게 우회할 수 있는지 아시나요?
(중복된 게시물 죄송합니다. 답변할 수 있는 질문으로 작성하지 않았기 때문에 첫 번째 게시물은 닫혔습니다.이제 괜찮기를 바랍니다.)
편집하다
Maven 릴리스 플러그인은 버전 처리 자체를 관리합니다.따라서 Subversion 저장소에서 경로를 확인할 때 경로가 아직 존재하지 않습니다.
편집 2
@벤:서버 버전은 모르지만 클라이언트도 1.5.2입니다.
해결책
이 문제는 최신 버전의 메이븐 릴리스 플러그인.이를 POM에 추가하여 가져옵니다.
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-9</version>
</plugin>
</plugins>
</pluginManagement>
</build>
해결된 문제는 MRELEASE-375.
다른 팁
버전 번호를 늘리지 않았기 때문입니다. 1.0.2가 이미 Subversion 저장소에 존재합니다.
버전을 높이거나 저장소에서 /repos/june/tags/foo-1.0.2 태그를 제거하세요.
Roland, 아직 이 문제를 보지 못했다면 이 문제에 대한 John Smart의 블로그 게시물을 살펴보세요.그가 제안한 스크립트는 우아하지 않지만 문제를 해결합니다.
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html
다른 해결책은 Git을 사용하는 것입니다.(나 == 현재 Maven과 Git에 대해 글을 쓰고 있다)
잠재적으로 유용한 링크:
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (이전에 언급)
http://jira.codehaus.org/browse/MRELEASE-427 (진짜 버그?)
http://jira.codehaus.org/browse/SCM-406 (관련 버그)
http://olafsblog.sysbsb.de/?p=73 (최신이고 아마도 더 유용한 게시물)
내가 아는 한 그것은 Subversion 1.5의 버그이며 Maven과 직접적인 관련이 없습니다.그러나 해결 방법은 로컬 svn 저장소를 업데이트하고 release:prepare 목표를 다시 실행하는 것입니다.
나는 이것으로 꽤 오랫동안 싸웠습니다.SVN 1.5.1+에서는 작업 복사본에서 바로 태그 커밋을 중단하는 점이 다릅니다. 이것이 바로 Maven이 수행하는 작업입니다.누가 문제를 해결할 책임이 있는지에 대해 여전히 많은 비난이 있습니다.
'svn update'를 수행하고 릴리스 명령을 다시 실행할 수 있지만 release:branch를 수행하는 경우 릴리스 플러그인이 POM 파일을 이전 상태로 되돌리지 못하게 됩니다.
내가 아는 가장 좋은 해결 방법은 Subversion 1.5.0으로 돌아가는 것입니다.
이것은 결정된 최신 릴리스 플러그인 릴리스인 2.0-beta-9
svn이 설치되지 않은 서버에서 빌드 문제가 발생하여 이 게시물을 보게 되었습니다.
이것이 도움이 되었습니다:Subversion을 사용하는 Jenkins