2

ユーザーが作成した .class および .jar ファイルを JPype にインポートする方法に関するいくつかの指示を見つけましたが、何かをまったく機能させるのに多くの問題を抱えているようです。

機能: 標準の Java をインポートして、HELLO WORLD などを印刷できます。

私が試したことのいくつか:

-Djava.class.path関連するクラスファイルを含むjarへのパス、関連する.classファイルと「-Djava.ext.dirs」を含むディレクトリ構造(いくつかのフォルダー)に追加しようとしました。別の JVM の場所で再コンパイルして再インストールしました。インスタンス化しようとしているクラスは Outer で public で、public コンストラクターがあります。

OSX 10.6 で Python 2.6.1 を使用しています。

私の現在のテストファイル: from jpype import *

startJVM(getDefaultJVMPath(), '-Djava.class.path=/Users/gestalt/Documents/msmexplorer_git/msmexplorer/MSMExplorer/build/classes')
java.lang.System.out.println("hello world")
msmexplorer = JPackage('org.joofee.meh.msmexplorer')
T = msmexplorer.MSMExplorer()
shutdownJVM()

JClass を使用すると、常に JPype から ClassNotFound 例外が発生します。JPackage を使用すると、Package not callable エラーが発生します。基本的に、JPype は自分のものを見つけることができません。

本当にありがとう!

編集 (デバッグに役立つ可能性があります...): どのサードパーティ Java クラスが利用可能/インポートされているかを出力する簡単な方法はありますか?

4

1 に答える 1

0

パッケージ呼び出し可能エラーは、このリンクで参照されています) 作業ディレクトリから Java クラス ファイルにアクセスできることを確認する必要があるようです。jvm クラスパスがどのように機能するのかわかりません。

私が共有したリンクが示すように、組織パッケージをロードしてから、そのパッケージを介して他のパッケージにアクセスすることもできます。

msmexplorer = JPackage('org').joofee.meh.msmexplorer T = msmexplorer.MSMExplorer()

于 2012-08-02T07:59:29.950 に答える