有没有办法可以在netbeans中为我的应用程序提供版本号。然后在我的代码中访问该版本号。
类似于我们在.Net中使用的程序集编号。在java或netbeans中有类似的东西......?
答案 0 :(得分:12)
在构建时在Jar的清单中定义Implementation-Version
。通常使用某种形式的日期作为版本号。例如。 14.07.28
可以使用..
在代码中检索该值String version = this.getClass().getPackage().getImplementationVersion();
<tstamp>
<format property="now" pattern="yy.MM.dd"/>
</tstamp>
...
<jar
destfile="build/dist/lib/${jar.name}"
update='true'
index='true' >
<manifest>
<attribute name="Created-By" value="${vendor}"/>
<attribute name="Implementation-Title" value="${application.title}"/>
<attribute name="Implementation-Vendor" value="${vendor}"/>
<attribute name="Implementation-Vendor-Id" value="org.pscode"/>
<!-- This next property is retrieved in code above. -->
<attribute name="Implementation-Version" value="${now}"/>
</manifest>
<fileset dir="build/share">
<include name="${package.name}/*.class" />
<include name="${package.name}/*.png" />
</fileset>
</jar>
这来自我目前打开的项目的构建文件。相关属性是清单部分中的最后一个属性。
答案 1 :(得分:2)
在我在Netbeans中创建的JavaFX应用程序中,我可以在此处显示的Project Properties窗口中设置构建版本(Implementation version):
然后在任何地方使用此编号,例如它会自动插入到安装程序的文件名中。它也是接受的答案中提到的this.getClass().getPackage().getImplementationVersion();
检索到的数字。
答案 2 :(得分:1)
我不知道.NET程序集编号,但如果您正在创建Web应用程序,则可以将版本号放入WAR文件的清单中。
任何Java包都可以添加一个构建信息文本文件,以便您可以告诉这些内容。
您的版本号可以是Ant的内部版本号,Subversion的版本号,也可以是两者的组合。