最も人気のある SIP コミュニケーターの 1 つである Jitsi の実行可能な jar を作成したかったのです。そこで、Jitsi を実行可能な jar としてパッケージ化しました。この実行可能な jar に次のような適切な VM 引数が渡された場合に使用できます。
-Dfelix.config.properties=file:lib/felix.client.run.properties
-Djava.util.logging.config.file=lib/logging.properties
-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=Jitsi-dev
これらのパラメーターを使用してこの実行可能な jar を呼び出す私のメイン クラスは次のようになります。
public class Main {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("java",
"-Dfelix.config.properties=file:lib/felix.client.run.properties",
"-Djava.util.logging.config.file=lib/logging.properties",
"-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=Jitsi-dev,
"-jar", "jitsi.jar");
} catch (IOException e) {
e.printStackTrace();
}
}
}
もちろん、私の jar では、これら 2 つのプロパティ ファイル (felix.client.run.properties と logging.properties) が lib フォルダーにあり、以前に jitsi.jar にパックされた Jitsi も見つかります。残念ながら、コマンド ライン経由の config.properties が読み込まれていないというエラーが表示されました。しかし、同じパラメータで jitsi.jar を実行するシェル スクリプトを作成すると、Jitsi を実行できます。上記のコードの何が問題になっていますか?