把版本放到我的java应用程序 - Netbeans

时间:2011-03-05 14:11:47

标签: java netbeans version

有没有办法可以在netbeans中为我的应用程序提供版本号。然后在我的代码中访问该版本号。

类似于我们在.Net中使用的程序集编号。在java或netbeans中有类似的东西......?

3 个答案:

答案 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): Screenshot of Netbeans Project Properties

然后在任何地方使用此编号,例如它会自动插入到安装程序的文件名中。它也是接受的答案中提到的this.getClass().getPackage().getImplementationVersion();检索到的数字。

答案 2 :(得分:1)

我不知道.NET程序集编号,但如果您正在创建Web应用程序,则可以将版本号放入WAR文件的清单中。

任何Java包都可以添加一个构建信息文本文件,以便您可以告诉这些内容。

您的版本号可以是Ant的内部版本号,Subversion的版本号,也可以是两者的组合。