2016-08-26 6 views
0

別のアプリケーションによって更新されるアプリケーションを作成しました。アップデータは、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にあります。ただし、更新をチェックするための秘密ファイルなしで起動することはできません。残念ながら、私はそれをオンラインで投稿することはできません。

答えて

0

非常に間違っていました。私はディレクトリを指定せずにexec呼び出しで開こうとしているjarファイルを指定していました。私は呼び出しがリソースディレクトリからではなくルートディレクトリから行われたことを忘れていました。 jarファイルを作成してjavaコマンドに渡す必要がありました。

関連する問題