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 を時々変更できるようにする必要があります。しかし、自己完結型のアプリを入手したので、ファイルにアクセスできなくなりました。 そのため、パラメーターを構成するための編集可能なファイルが必要ですが、同時に自己完結型のアプリケーションを使用しています。 誤解を避けるために: 構成ファイルは読み取り保護を必要としません。私が必要としているのは、アプリケーション フォルダ (またはサブディレクトリ) にちょうど置かれているファイルです (それで問題ありません)。
私は自分のアプリケーションを動的に保つのが好きです - そしてそれを達成するためには、高速構成用の小さなファイルが最適です。どうやってするの?