0

多くのパラメーターを取得する jar を、それらのパラメーターを作成する Python コードでラップしたいと考えています。

私が持っているとしましょう:

java -jar parameter1 ... paramterN

N はそれほど大きくはありませんが、これらのパラメーターを自動的に割り当てることができる場合、ユーザーが何度も入力するのは一種の負担です。

jar はブラック ボックスであるため、ロジックを変更してこれらのパラメーター自体を計算することはできません。

だから、代わりにこれが欲しい:

python MyJarRunner.py JarPath

MyJarRunner が計算されたパラメーターを使用してこの Jar を呼び出すとき。

私の問題は、実行時エラーなしで実行するために、この Jar が Java SDK 1.7 を必要とすることです。この Jar が存在する場合、SDK 1.7 で確実に実行するにはどうすればよいですか? これは、SDK 1.7 の場所に関する予備知識がない別のコンピューターで実行する必要があります。

バッチスクリプトを使用したソリューションも適用できる場合があります。

4

2 に答える 2

0

2つの解決策があります:

どちらも、独自のメインクラスを作成できることを前提としています。

  1. Jarは決してブラックボックスではありません---基本的にはzipファイルなので、解凍して、パラメーターを計算する独自のメインクラスを追加し、MANIFEST.MFのMain-Class属性を変更すれば完了です。
  2. いくつかのjar(ブラックボックスjarだけでなく、作成した他のjar)をダウンロードしてJDKバージョンなどを指定できるJavaWebStartなどの他のデプロイメントの代替案を検討してください。
于 2012-05-28T19:17:10.117 に答える
0

java コマンドを使用する代わりに、"C:\Program Files\Java\jdk1.7.0\bin\java.exe" -jar ...

ファイルが実際に存在するかどうかを確認するには...

from os import path, access, R_OK  # W_OK for write permission.
PATH='C:\Program Files\Java\jdk1.7.0\'
if path.exists(PATH) and path.isfile(PATH) and access(PATH, R_OK):
    //execute
else:
    //whatever you wanna do if it doesn't exist
于 2012-05-28T18:32:43.917 に答える