我使用gradle和javafx-gradle插件使用任务" jfxDeploy"生成一个自包含的javafx应用程序。
我有以下目录结构:
|-- src
| |-- main
| |-- java
| | \-- Main.java
| |-- resources
| \-- database_config.properties
我使用 apache-commons-configuration 加载数据库配置并使用其信息连接到数据库(information = port,ip - normal database stuff):
public static DBConnectionParameters getConfigDBConnectionParameters() {
try {
InetAddress ip = InetAddress.getByName(getProperty("configIP"));
String port = getProperty("configPort");
return new DBConnectionParameters(ip, port);
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}
创建自包含应用程序后,构建目录包含我的程序,该程序现在可以使用.exe启动。目录结构如下所示:
|-- AppName
| |-- app
| \-- externalJars.jar
| |-- runtime\...
| \-- AppName.exe
| \-- AppName.ico
启动程序,读取数据库配置并连接到数据库工作正常,但是: 我需要能够不时地更改 database_config.properties 。但由于我现在拥有自包含应用程序,因此无法访问该文件。 因此,我需要一个可编辑的文件来配置我的参数 - 同时使用自包含的应用程序。 为防止误解:配置文件不需要读保护。我需要的是(并且它完全没问题)刚放在应用程序文件夹(或子目录)中的文件。
我喜欢让我的应用程序保持动态 - 一个用于快速配置的小文件非常适合实现这一目标。怎么做?