2012-07-16 29 views
11

Tôi đang sử dụng maven 2.2.1 và tôi thành công chạy:org.apache.maven.BuildFailureException: Không URL SCM đã được cung cấp để thực hiện việc phát hành từ

mvn -B release:clean release:prepare 

Nhưng nhận được thông báo lỗi 'Không SCM URL được cung cấp để thực hiện việc phát hành từ 'khi tôi chạy:

mvn release:perform 

pom.xml của tôi đã các thẻ scm được xác định một cách chính xác:

<scm> 
    <url>file:///C:/tmp/svnrepo/myproj/trunk</url>   
    <connection>scm:svn:file:///C:/tmp/svnrepo/myproj/trunk</connection> 
    <developerConnection>scm:svn:file:///C:/tmp/svnrepo/myproj/trunk</developerConnection>   
</scm> 
+0

Vui lòng thêm cấu hình maven-release-plugin. –

Trả lời

5

Có vẻ như tôi đã thực hiện một số mvn -DdryRun=true release:perform và điều này đã xóa tệp release.properties khỏi giai đoạn chuẩn bị.

Vì vậy, tôi thêm -DconnectionUrl cho lệnh để cung cấp địa chỉ của các thẻ

+0

Hiện nó có hoạt động không? –

4

Nó sẽ làm việc. Tôi có vấn đề tương tự, nhưng trong trường hợp của tôi thực hiện được do lỗi mạng và tôi đã phải khởi động lại nó với một cái gì đó như:

mvn release:perform -rf :{ARTIFACT ON WHICH IT FAILED} -DconnectionUrl=scm:svn:{URL TO TAG} 
2

Có thể chạy lại một maven release:perform bằng cách tạo ra một tay sửa release.properties tập tin trong thư mục gốc thư mục. Tệp này phải xác định hai thuộc tính sau: scm.urlscm.tag. Dưới đây là ví dụ có thể:

scm.url=scm:git:https://github.com/owner/repo.git 
scm.tag=v1.0.4 

Với tệp này, bạn có thể thực hiện lại tác vụ release:perform.

Lấy cảm hứng từ điều này answer.