3

Java アプリケーション内から外部プログラムを実行する必要があります。私は mac でプログラミングしており、ユーザーが選択したときに実行したい .app アプリケーションがあります。以下を使用して、Windowsで正常に実行されます。

String cmd = "path_to_executable\program.exe\"";

Process p = Runtime.getRuntime().exec(cmd); ...

ただし、これは .app ファイルでは機能しません。.app ファイルの内容を開いてみたところ、Unix 実行可能ファイルとアプリケーションの他のサポート ファイルが見つかりました。UNIX 実行可能ファイルは .exe ファイルと同等ですか?

4

3 に答える 3

7

OS X上のJavaからMacアプリケーションを起動するにはopen、アプリケーションをパラメータとして組み込みのコマンドを呼び出すだけです。OS Xのコマンドラインを開くツールは、アプリケーションバンドルを含む多くの異なるファイルタイプを正しく開く方法を知っています。TextEdit.appアプリケーションを起動しようとした場合は、次のコマンドを呼び出します。

open /Applications/TextEdit.app

Javaでは、次を使用します。

String cmd = "open /Application/TextEdit.app";
Process p = Runtime.getRuntime().exec(cmd);
于 2012-11-13T23:43:44.937 に答える
1

はい、実行する必要がある実行可能ファイルは、.app バンドルにある unix 実行可能ファイルです。ただし、適切に機能しない可能性があります。ディレクトリなどに cd する必要がある場合があります。

ほとんどのアプリケーション バイナリは、Contents/MacOS/App Name にあります。文字列名を受け取り、標準ディレクトリに基づいてそのバイナリを実行するメソッドを作成できます。

于 2012-11-13T23:04:22.383 に答える
0

.app ファイルは、実際には単なるフォルダーです。これは、Mac 上でアプリケーションを自己完結させる方法です。実際のバイナリ ファイルは、おそらく、見つけた Unix 実行可能ファイルです。アプリの詳細を知っておくと役立ちます。

.app のバイナリ ファイルは、Application.app/Contents/MacOS にあります。

于 2012-11-13T23:19:19.930 に答える