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

Java-在导出期间设置应用程序包版本,java,Java,所以我有一个字符串,它表示我正在处理的程序的静态版本。我在很多地方使用它,这就是为什么我制作了一个全局变量 问题:将我的项目导出为Mac应用程序包时,是否可以将info.plist中的CbundLeverVersion设置为该字符串?如果没有,我可以在导出期间将其设置为任何值,还是必须在导出后手动完成 提前感谢您可以使用Maven资源筛选机制将变量导出到特定文件: 我使用它导出当前版本和项目的构建日期: 我在“D:\workspace\…\src\main\resources”中有一个名为“re

所以我有一个字符串,它表示我正在处理的程序的静态版本。我在很多地方使用它,这就是为什么我制作了一个全局变量

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


提前感谢

您可以使用Maven资源筛选机制将变量导出到特定文件:

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

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

    # release version
    version=${project.version}_${svninfo.committedRevision}
    
    # date when the current release was built
    build_date=${buildDate}
    
  • 在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>
    
    
    D:\workspace\…\src\test\resources
    真的
    D:\workspace\…\src\main\resources
    **/发布。属性
    假的
    D:\workspace\…\src\main\resources
    **/发布。属性
    

  • 您可以使用Maven资源筛选机制将变量导出到某些文件:

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

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

    # release version
    version=${project.version}_${svninfo.committedRevision}
    
    # date when the current release was built
    build_date=${buildDate}
    
  • 在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>
    
    
    D:\workspace\…\src\test\resources
    真的
    D:\workspace\…\src\main\resources
    **/发布。属性
    假的
    D:\workspace\…\src\main\resources
    **/发布。属性
    

  • 这需要我在导出后运行程序吗?不需要,因为Maven将构建您的项目,并且在此过程中还将变量“导出”到包含的文件中。然而,我认为您应该先阅读一两篇关于Maven是什么以及它做了什么()的文章,然后再按照这个方向对代码进行任何更改。您可能会发现它对本项目和您未来的所有项目都非常有用。非常感谢!我将对此进行研究。这是否需要我在导出后运行该程序?不,因为Maven将构建您的项目,并且在此过程中还将“导出”变量到包含的文件中。然而,我认为您应该先阅读一两篇关于Maven是什么以及它做了什么()的文章,然后再按照这个方向对代码进行任何更改。您可能会发现它对本项目和您未来的所有项目都非常有用。非常感谢!我会调查的。