2016-04-15 16 views
-2

私はjythonを試していて、10章の例でかなり早く立ち往生しました。http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html数学のインポートはJavaライブラリから機能します。しかし、私はカスタムクラスのビーチを働かせることはできません。Jython、未解決のインポート - javaクラス

私は同じ投稿を見たJython won't import user-defined class; ImportError: No module named ****** しかし、私は受け入れられた答えのアプローチを理解していませんでした。

私はビットの明確化を望んでいます。

以下は私のプロジェクト構造です。

enter image description here

import Beach 

b = Beach("Cocoa Beach","Cocoa Beach") 
print (b.getName(Beach.getName())) 

インポートビーチ:未解決のインポート:ビーチ

EDIT:それは次のように働いて得た:

import sys 
sys.path.append('C:\Users\Rasmus\Desktop') 

import Beach 

beach = Beach("Cocoa Beach","Cocoa Beach") 
beach.getName() 
print(beach.getName()) 

しかしPyDevは日食はまだマークは、未解決のインポートとビーチをインポート。

ビーチクラス

public class Beach { 

    private String name; 
    private String city; 


    public Beach(String name, String city){ 
     this.name = name; 
     this.city = city; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getCity() { 
     return city; 
    } 

    public void setCity(String city) { 
     this.city = city; 
    } 

} 
+1

ディレクトリにクラスファイルが表示されません。 javac src/Beach.javaを実行しましたか?それをした後でのみ、クラスファイルを取得します。各言語のファイルを別々のディレクトリに保存することをお勧めします。 .javaファイルをJavaディレクトリに移動し、同じディレクトリにJavaプロジェクトを作成します。あなたのpythonファイルを別のディレクトリに入れてください。 – randominstanceOfLivingThing

+0

私は2つの別々のディレクトリを作った。 Pythonにjava.classファイルを単独で作成させる方法はありますか?そうすれば、私のJavaクラスを簡単に編集することができます。 – PushALU

答えて

2

あなたはJythonのクラスパスにコンパイルされたクラスを持っている必要があります。コンパイルされたクラスファイルのみをインポートできます。

あなたは、あなたの質問に持っていたリンクでmetionedとおり:私たちは、第8章で学んだとおり、あなたがする必要があります一つのことは、あなたが使用したいJavaクラスが内に常駐していることを確認している

あなたのCLASSPATH。上記の例では、Beachクラスを含むJARファイルを作成し、そのJARをCLASSPATHに配置しました。

コンパイルは、JDKの一部であるjavacコマンドを使用して行われます。 jarファイルを作成するには、JDKのコマンドjarコマンドを使用します。

異なるディレクトリのファイルを同じディレクトリに置くことはお勧めできません。 .javaファイル用のJavaプロジェクトとJythonファイルを別々のディレクトリに作成する必要があります。

using-a-jar-or-java-project-in-your-jython-appをご覧ください。

+0

どのように進むべきかわからない。 – PushALU

+0

私はクラスビーチをjarファイルとしてエクスポートし、それをjytプロジェクトのsrcフォルダに貼り付けました。しかし、それはそれをしませんでした。 srcはクラスパスではありませんか? – PushALU

+0

Javacを使用してJavaソースファイルをコンパイルする必要があります。その後、.classファイルが取得されます。 – randominstanceOfLivingThing

関連する問題