Vấn đề có hai phần:
Bạn đang cố gắng để thiết lập buildNumber
vào phiên bản trước khi nó được giải quyết nên nó sẽ luôn luôn được ${buildNumber}
chứ không phải là giá trị giải quyết.
Thay vì cố gắng thay đổi động phiên bản, bạn nên đặt buildNumber
thành phần finalName
trong bản dựng. Điều này sẽ tạo ra các tạo phẩm với tên dự định trong kho lưu trữ cục bộ.
Plugin cài đặt sẽ bỏ qua finalName
và triển khai nó dưới dạng 1.0.0-SNAPSHOT
bất kể, tôi không biết cách nào để giải quyết điều đó. buildNumber
được thêm vào tệp kê khai nếu bạn định cấu hình plugin như dưới đây.
Vì vậy, cấu hình của bạn sẽ là một cái gì đó như:
<version>1.0.0-${release.identifier}</version>
...
<build>
<finalName>${project.artifactId}-${project.version}-${buildNumber}</finalName>
...
</build>
tôi sẽ tránh sử dụng xây dựng số trên SNAPSHOT
dự án.
Maven cung cấp từ khóa SNAPSHOT
để biểu thị một dự án dễ bay hơi trong quá trình phát triển tích cực. Vì vậy, nếu bạn tham khảo một dự án với phiên bản phụ thuộc SNAPSHOT
, Maven sẽ tự động kiểm tra các bản cập nhật và giữ cho các phụ thuộc của bạn được đồng bộ hóa.
Nếu sau đó bạn thêm số bản dựng vào cuối phiên bản đó, bạn sẽ phải cập nhật phụ thuộc theo cách thủ công, vì vậy bạn sẽ mất mọi lợi ích khi có hậu tố SNAPSHOT
.
Cá nhân tôi tránh sử dụng số bản dựng nếu có thể. Nếu tôi phải cập nhật dự án, tôi chỉ cần tăng số phiên bản hoặc sử dụng hậu tố như beta-2
hoặc RC2
. Nếu bạn cần theo dõi bản sửa đổi trong SNAPSHOT
, tôi khuyên bạn nên thêm bản sửa đổi vào Tệp kê khai để bạn có thể kiểm tra nơi xây dựng có nguồn gốc, nhưng sử dụng hậu tố chuẩn SNAPSHOT
để cho phép Maven giải quyết các phiên bản thông thường. Cấu hình bên dưới cho thấy cách thêm bản sửa đổi vào Tệp kê khai.
Theo như cấu hình của bạn có liên quan, có vẻ OK với tôi giả định rằng url SCM của bạn được thiết lập chính xác. Nếu bạn không có cấu hình SCM trong POM của bạn có thể là vấn đề.
Bạn có thể chạy với -X
và kiểm tra xem có bất kỳ đầu ra nào từ plugin cho biết tại sao nó không đặt thuộc tính không?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>maven-buildnumber-plugin</artifactId>
<version>0.9.4</version>
<executions>
<execution>
<id>useLastCommittedRevision</id>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
Nguồn
2009-08-08 08:39:37
Cảm ơn. Fyi, sau khi chuyển sang git, chúng tôi bắt đầu đi qua builder từ jenkins như một git làm cho một số ít xây dựng nói được –