Eclipse(あなたのためのクラスパスを管理しています)またはコマンドライン(クラスパスを実行するときにクラスパスを指定していると思います)からJython.jarがクラスパスに含まれています。
悲しいことに、あなたの瓶の中に他の瓶を含めても、その瓶をクラスパスに置くには不十分です。あなたが全体Jython.jarを抽出して、あなたがRunnableをJARファイルにエクスポートする場合は、後のEclipseのバージョンでは、この操作を行う(あなたの瓶に抽出されたファイルを含めることができオプション。
しかし、これは問題につながる可能性がありJythonの場合コードがJARに存在すると予想され、名前空間の競合や法的な問題があった場合(多くの場合、サードパーティのjarファイルを抽出して自分自身で再配布することは違法です)
これを確認するには、 Eclipseの外部で、クラスパス上のjython.jarを含みます。例:
java -cp lib/jython.jar:myjar.jar com.me.main.Main
-jarオプションを使用する場合(例:その後、-cpフラグはので、これはあなたがしなければ動作しません無視されるメインクラス属性):それは問題である場合
java -cp lib/jython.jar -jar myjar.jar
は、自動的にクラスパス上jython.jarを含むように、いくつかの方法があります。 2つの一般的なアプローチは、マニフェストのclasspath属性を使用することです(jython.jarの場所をメインのjarに関連させて保証する限り)。あるいは、シェルスクリプトでjarの実行をラップすることもできます。
メインJARにパッケージされているJARを参照できるように、マニフェストのクラスパスを編集する方法はありますか? –
私はこの問題を発見しましたが、現時点では解決策はほとんどありません。私はJARを見て、PythonモジュールがJARに組み込まれていないことが分かりました。アーカイブマネージャを使用してJARのルートにドロップすると、毎回JARが意図したとおりに実行されます。しかし、あなたは正しい@Paceでした。明らかに、PythonモジュールはJARにないので、クラスパスにはありませんでした。 –