別のアプリケーションによって更新されるアプリケーションを作成しました。アップデータは、OSXの.appにバンドルされており、リソースディレクトリの内容を更新します。アップデータが起動すると、アップデートが検索され、次にSystem.getRuntime().exec(cmd)
が実行されます。cmd
は、バンドルされたJREのパスとそれに続くアプリケーションのjarのパスです。OSX Javaアプリケーションからjarファイルを起動する
updater jarファイルを実行すると、すべて正常に動作します。しかし、私はアプリを実行すると、アップデーターは正常に起動しますが、 "開始"ボタンを押すと、アプリケーションが起動していません。実際、何も起こっていません。コマンドラインレベルでエラーはなく、プロセスの作成時に例外がスローされません。 process.isAlive()
がtrueを返します。
私が言ったように、jar updaterファイルから起動するとうまく動作します。 .appディレクトリは、mavenプラグイン "appbundle"を使用して作成されました。このアプリケーションはhttps://github.com/elyas145/lss-reporterにあります。ただし、更新をチェックするための秘密ファイルなしで起動することはできません。残念ながら、私はそれをオンラインで投稿することはできません。