我将通过声明我使用Apache
Maven来开始这篇文章。您也可以使用Ant或其他工具执行类似的 *** 作,但这就是我使用maven所做的事情。
我发现处理此问题的最佳方法是使用项目版本以及Subversion修订版作为内部版本号。在Maven中,您可以包括以下内容。这将为您提供Subversion版本号$
{scm.revision}。
<build> <plugins> <plugin> <artifactId>maven-scm-plugin</artifactId> <executions> <execution> <id>getting-scm.revision</id> <phase>validate</phase> <goals> <goal>update</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
之后,我将其用作jar文件清单的一部分,作为实现版本。
<plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.1</version> <configuration> <archive> <manifestEntries> <Implementation-Version>${this.version}.${scm.revision}</Implementation-Version> </manifestEntries> </archive> </configuration> </plugin>
这样做的好处是,您可以使用以下代码从代码中进行访问:
Package p = getClass().getPackage();String version = p.getImplementationVersion();
这样就可以得到完整的内部版本号,例如“
1.0.13525”,其中最后一个数字是Subversion修订版。有关设置的更多信息,您可以查看我很久以前就此问题撰写的完整博客文章。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)