2011-11-15 14 views
0

私はしばらく検索してきましたが、この問題の答えを見つけることはできません。ユーザー定義の.classファイルを.jarなしで直接Jythonにインポートすることは可能ですか?私はJavaで書いているファイルをテストするためにJythonを使いたいと思う(これが何か変更されたらNetbeansを使っている)。私は、最終的にJythonをスクリプト言語(ゲームになる)とメインループコードの両方として使用するつもりです。しかし今のところ、私は.classファイルをJythonにインポートすることさえできません。コードをテストしたり、何かを試してみたいときは、すべてを.jarにする必要はありません。jarの代わりに.classファイルを使用してJavaクラスをJythonにインポートする

私は持っていますすでにすべての.classファイルを含むフォルダをsys.pathとclasspathの両方に追加しました。私は(それはゲームボーイアドバンスのためだったアドバンスウォーズに基づいています原因...「x86Wars」... ')パッケージをインポートしようとすると、それは私に与える:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named x86Wars 

をしかし、私はの.classファイルをインポートしようとすると、直接名前(私は実際に.javaソースとの.class 1を含むフォルダの両方を追加している)、それは私を与える:

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: FullScreenDisplay (wrong name: x86Wars/FullScreenDisplay) 

任意の助けをいただければ幸いです!

+1

フォルダパッケージ名を正しく模倣するか?あなたがPythonのパス(およびクラスパス)に追加したルートから、com.game.x86warsのドット付きの名前ごとに1つのフォルダが必要です。 /com/game/x86wars/class.class –

+0

実際、それは完全に機能しました!パッケージ名は単にx86Wars(現時点では)ですが、C:/ something/something/x86WarsをCLASSPATHに追加していました。 (実際は、Javaは明らかに '/'で終わるCLASSPATHが好きではないため、最初はありませんでした)。あなたが正式にこの質問に答えたいなら、私はそれを最高として選んで、他の人がそれが答えられたことを見ることができるようにします。 – atomictom

+0

私は前のコメントを回答として追加しました。 –

答えて

1

フォルダがパッケージ名を正しく模倣していることを確認してください。あなたがpythonパス(およびクラスパス)に追加したルートから、com.game.x86warsのドット付きの名前ごとに1つのフォルダが必要です。/com/game/x86wars/class.class

関連する問題