Java - 在导出期间设置应用程序包版本

时间:2012-06-18 19:40:02

标签: java

所以我有一个String,表示我正在处理的程序的版本是静态的。我在许多地方使用它,这就是我创建一个全局变量的原因。

问题:将我的项目导出为Mac应用程序包时,是否可以将info.plist中的CFBundleVersion设置为该字符串?如果没有,我可以在导出期间将其设置为任何内容,还是必须在之后手动完成?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用Maven资源过滤机制将变量导出到某些文件:http://www.sonatype.com/books/mvnref-book/reference/resource-filtering-sect-description.html

我用它来导出当前版本和项目的构建日期:

  1. 我在"release.properties"中有一个名为"D:\workspace\...\src\main\resources"的文件,其中包含一些变量

    # release version
    version=${project.version}_${svninfo.committedRevision}
    
    # date when the current release was built
    build_date=${buildDate}
    
  2. 在我的pom.xml中,我已经声明了Maven将解析的一组资源,并使用相应的值填充变量

    <resources>
       <resource>
         <directory>D:\workspace\...\src\test\resources</directory>
       </resource>
       <resource>
         <filtering>true</filtering>
         <directory>D:\workspace\...\src\main\resources</directory>
         <includes>
           <include>**/release.properties</include>
         </includes>
       </resource>
       <resource>
         <filtering>false</filtering>
         <directory>D:\workspace\...\src\main\resources</directory>
         <excludes>
           <exclude>**/release.properties</exclude>
         </excludes>
       </resource>
    </resources>