0

もう一度言いますが、今度は Java の質問です。Processbuilder で非ネイティブ スクリプトを実行する方法 (スクリプトを実行するプログラムを呼び出す方法) を教えてもらいましたが、Java スクリプトを実行しようとして、いくつかの問題に遭遇しました。まず、.class または .jar を使用する必要がありますか? これらは両方とも実行できますが、どちらがうまく機能するかはわかりません。そして、どうすればそれらを正しく実行できますか? Java (/usr/lib/jvm/java-6-openjdk/jre/bin/java) を呼び出してから、クラス ファイルへのファイルパスを指定しようとしましたが、うまくいかないようです。

何か案は?

4

2 に答える 2

1

.jar の質問に関しては、sarnold に同意します。main()ProcessBuilder を使用してコードを実行するという点では、.jar ファイルにメソッドが含まれていてMain-Class、.jar の作成時に生成できるマニフェスト ヘッダーがある限り、.jar ファイルを実行できます。.jar を作成したら、次のようなコマンドを使用して .jar を実行します。

java -jar jar_file_name_here.jar

複数のメイン クラスがあり、特定のクラスを実行したい場合は、次のようなコマンドを使用できます。

java -jar jar_name.jar com.main.class.package.path.here.SomeClassName

他の誰かの .jar を実行しようとしていますか、それともスクリプト内で実行したいのは自分の .jar ですか? 好奇心から、なぜスクリプトを使用しているのですか?

于 2011-01-26T00:51:15.077 に答える
0

-jar と、メイン クラスに名前を付けるマニフェストを持つ jar のパス名、または標準レイアウトでクラスを含むディレクトリのパス名を含む -cp、または jar のパス名を含む -cp のいずれかが必要です。メインを持つクラスの名前が続きます。

java -jar I_AM_A_JAR_WITH_A_MANIFEST.jar

java -cp I_AM_JAR_1.jar:I_AM_JAR2.jar... this.is.my.FooClass

java -cp dir_path1:dir_path2:dir_path3 this.is.my.FooClass

ここで、「dir_pathN」は標準クラス階層を持つディレクトリです。

于 2011-01-26T00:52:12.750 に答える