0

JPackage 创建的 .cfg 文件包含一些有用的元数据,例如 app.version。这是一个片段...

app.name=MyApp
app.version=1.0
app.runtime=$APPDIR\runtime
app.identifier=com.company.package
app.classpath=
app.mainmodule=application/com.company.package.Main

[JavaOptions]

[ArgOptions]

有没有一种简单的方法可以通过Java查询这个文件,而不需要从文件系统手动加载文件并解析它?

对于上下文,我们希望从 JAR 中的清单中检索版本,但不幸的是,当使用模块构建应用程序时,这似乎不可用。

干杯。

4

1 回答 1

0

其中一些字段可以从应用程序内的系统属性中读取 - 假设您使用jpackage --app-version标志:

System.getProperty("jpackage.app-path");
System.getProperty("jpackage.app-version");
System.getProperty("java.home");
System.getProperty("java.class.path");

如果还有其他对您很重要的字段,也可以指定其他设置以应用于启动器,使用--java-options "-Dyour.field=XYZ"

于 2021-03-23T14:50:38.677 回答