40

に似たようなことをしたいと思いjython -cp FOO:BAR:BAZ argle.pyます。

FOOBAR、およびBAZを追加すると、$CLASSPATHこれが機能します。実行時にそれらを追加しようとしましたsys.pathが、jar では機能しないようです。実行時に展開されたjarへのパスを追加すると機能しsys.pathます。jar ファイルを展開する簡単な方法はありますか? このスクリプトを実行するすべてのユーザーを拡張$CLASSPATHすることは、受け入れられる代替手段ではありません。

ありがとう。

4

4 に答える 4

51

-Dオプションを使用して次を設定できますpython.path

jython -Dpython.path=FOO:BAR:BAZ argyle.py
于 2009-02-25T14:58:12.603 に答える
5

java -cp JAR1:JAR2:jython.jar org.python.util.jython pythonScript.pyここでは、Linux と Macintosh の両方で動作します。Windows では、クラスパスのコロンをセミコロンに交換すると、ゴールデンになるはずです。

于 2012-10-03T22:55:05.090 に答える
3

関連するすべてのクラスを含む大きなJARを作成できます。次のantスニペットはアイデアを示しています。

<target name="jar">
    <mkdir dir="build/jar"/>
    <unjar src="lib/jython.jar" dest="${classes.dir}" />
    <unjar src="lib/FOO.jar" dest="${classes.dir}" />
    <unjar src="lib/BAR.jar" dest="${classes.dir}" />
    <unjar src="lib/BAZ.jar" dest="${classes.dir}" />

    <jar destfile="build/jar/bigjython.jar" basedir="${classes.dir}">
        <manifest>
            <attribute name="Main-Class" value="${main-class}"/>
        </manifest>
    </jar>
</target>
于 2009-02-11T16:56:25.413 に答える