我想用一些版本号追加Netbeans项目的输出JAR文件名:类似1.0,2.0b或甚至Subversion版本号。尽管如此,我似乎无法找到任何相关信息。我也不确定这是否构建系统(Ant)的责任,或者IDE(Netbeans)是否可以委托进程。是否有一个集中,干净的方式来做到这一点?将软件版本附加到JAR文件名
回答
IMO,这是编译系统的责任,而不是IDE的责任。让我用其他方式说:不要依靠IDE来构建项目,使用构建工具。在开发过程中使用IDE是很好的,但是依赖于IDE来构建项目并不是一件好事(如果你明天改变你的IDE,如果你想在没有IDE的情况下在另一台机器/ OS上构建项目,如果你想要怎么做在无头机器上构建你的项目,如果你想自动构建你的项目,如果有人想要构建这个项目并且没有IDE等,那该怎么办)。真的,这是构建系统的目的。
现在,关于您的初始请求,有plenty ways to add a version number。其中之一是使用Ant的BuildNumber任务:
这是一个可以用来追踪建立数字的基本任务。
它将首先尝试从文件(默认情况下,在当前目录下的build.number)中读取构建号,然后将属性build.number设置为读入的值(如果不是这样的价值)。然后它会将数字加1并将其写回文件。 (如果您需要更好地控制属性名称或数字格式等内容,请参阅PropertyFile任务。)
使用它,例如像这样:
<target name="jar" depends="compile">
<property name="version.num" value="1.00"/>
<buildnumber file="build.num"/>
<jar destfile="foo-${version.num}-b${build.number}.jar"
basedir="."
includes="**/*.class"
/>
</target>
,或者你可以确实add subversion revision number。一个简单的方法来做到这一点似乎安装SVNAnt任务,并使用the status task:
<target name="revisionnumber">
<!-- get the svn revision number -->
<svn>
<status path="application.cfm" revisionProperty="svn.revision" />
</svn>
<echo>Sandbox Revision: ${svn.revision}</echo>
</target>
最后,另一种选择是使用Maven代替蚂蚁它有一个内置的版本管理功能,通过cetnar指出。
我不知道这是否是最好的方式,但我们把它放在MANIFEST.MF文件是这样的:
Implementation-Version: 2.0b
我们可以通过编程方式获取此值是这样的:
String version_num = this.getClass().getPackage().getImplementationVersion();
谢谢,这将是巨大的以编程方式访问的版本号。 – 2009-10-23 13:02:21
那么默认由Maven完成。即使你想给你的jar文件命名更详细的信息,你也可以使用build number plugin。
编辑
在begining我误解了你的问题,所以接下来的部分涉及到添加jar文件这里面的信息。
你可以自己做creating manifest file。在Maven中,您可以通过additional configuration来调整创建清单文件的过程。我认为(我敢肯定)在Ant中应该是类似的功能。
如果您觉得使用工具来处理您的构建,那么有很多关于如CruiseControl,这是基于ANT并与您的源代码控制有很深的集成。
我使用它来自动递增内部版本号,并将其用作我的版本号中的最后一个数字,例如: 1.4.168,其中168是内部版本号。我正准备在编译前用CVS将标签放入CVS中,以便我确切地知道jar中的代码。
你可以使用maven for vesion并从pom中读取它。
阅读这篇文章: 嵌入maven的版本号 在 http://happygiraffe.net/blog/2008/10/01/embedding-the-maven-version-number/
- 1. 使用IntelliJ将版本信息添加到jar文件名称
- 2. 宏将文件的保存版本附加到电子邮件
- 3. 将.jar文件添加到React本机
- 4. 附加到文本文件
- 5. 将RSA签名附加到文本文件
- 6. 将jar库添加到jar文件中
- 7. 软件版本
- 8. 软件版本
- 9. 将文件附加到PHPMailer
- 10. 如何使用批处理文件将文本附加到文件名?
- 11. 将json文件附加到文本文件
- 12. 如何将属性文件附加到jar?
- 13. 如何正确地将.Jar文件附加到HTML
- 14. 如何将jar文件添加到jar文件中?
- 15. 将文件附加到邮件
- 16. 将文件附加到电子邮件
- 17. 将PDF文件附加到邮件中
- 18. 将文本文件附加到电子邮件
- 19. 版本控制软件包文件
- 20. 苹果软件版本命名转换
- 21. 自制软件不存储版本名下的软件包
- 22. 将文件拖放到.jar并将文件名传递给main()
- 23. .NET用附加的文件版本信息写一个文件
- 24. 自动将生成日期附加到Eclipse插件版本号
- 25. 使用PrintStream附加到文本文件
- 26. 使用WriteAllLines附加到文本文件
- 27. 简化将域名附加到python中的文件名
- 28. PHP附加文件名到数组
- 29. 重命名文件并附加到outlook
- 30. 将版本号附加到NSKeyedArchive
非常好,非常感谢! – 2009-10-23 13:03:46