Thật không may, bản thân tệp jar không có bất kỳ chuẩn nào cho việc đánh số phiên bản.
Nhưng, thực tế, có một cách tiêu chuẩn khác để nhận số sửa đổi được cập nhật tự động. Bạn có thể sử dụng svn:keywords để nhận số phiên bản hiện tại trong các tệp của mình sau mỗi lần commit. Có thuộc tính $Revision$
để thay thế bản xem lại và $HeadURL$
để thay thế URL của kho lưu trữ. Bạn chỉ cần đặt chuỗi sau vào tập tin và đặt tập tin này dưới sự kiểm soát phiên bản:
$Revision$ $HeadURL$
Nếu bạn tạo biểu hiện một cách nhanh chóng với maven, tôi sẽ khuyên bạn nên đặt nội dung sau vào version.properties
file:
revision=$Revision$
repourl=$HeadURL$
Sau đó đưa vào thành pom.xml
với tuyên bố (maven nên có đặc tính bật plugin):
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>version.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
Và sau đó bạn sẽ có thể đưa số serial, url repo để manifest:
<manifest>
<attribute name="Revision" value="${revision}" />
<attribute name="Repository URL" value="${repourl}" />
</manifest>
Xin lưu ý rằng bạn sẽ cần phải explicitly enable svn:keywords
sử dụng tính lật đổ để có được $Revision$
và $HeadURL$
thay thế trong bạn tệp với giá trị thực. Nếu bạn quyết định sử dụng version.properties
, bạn sẽ cần phải chạy lệnh sau:
svn propset svn:keywords Revision version.properties
svn propset svn:keywords HeadURL version.properties
Không có tiêu chuẩn mà tôi biết. Mọi công ty/nhà phát triển dường như có ý kiến về cách quản lý số sửa đổi, không bao giờ nhớ cách ghi lại và mô tả bản sửa đổi đó :-) –
Bạn có thể muốn xem xét sử dụng tệp khác (hoặc ít nhất là bổ sung) tệp kê khai bạn đã bao giờ muốn đọc số sửa đổi theo chương trình. Đọc MANIFEST.MF từ bên trong JVM thực sự là một nỗi đau và có thể không nhất quán từ môi trường này sang môi trường khác nếu thứ bậc của trình nạp lớp thay đổi. –
cũng xem: http://stackoverflow.com/questions/7670602/conventions-for-additional-content-of-the-manifest-mf-file –