我正在使用带有javafx-gradle插件的 gradle 来使用任务“jfxDeploy”生成一个自包含的 javafx 应用程序。
我有以下目录结构:
|-- src
| |-- main
| |-- java
| | \-- Main.java
| |-- resources
| \-- database_config.properties
我正在使用apache-commons-configuration加载数据库配置,并使用其信息连接到数据库(信息 = 端口,ip - 普通数据库内容):
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。但是由于我现在有了独立的应用程序,因此无法再访问该文件。 所以,我需要一个可编辑的文件来配置我的参数——同时使用一个独立的应用程序。 防止误解:配置文件不需要读保护。我需要的是(它非常好)只是放在应用程序文件夹(或子目录)中的文件。
我喜欢让我的应用程序保持动态——一个用于快速配置的小文件非常适合实现这一点。怎么做?