0

次のコード スニペットを使用して、jar ファイルにある関数を呼び出しています。しかし、クラスを接続できません。

Development Env:
Python: Python27,32bit jpype Version(JPype-0.5.4.2.win32-py2.7.exe)
Java:  jre1.8.0_60,32bit.

Java コード:

public class Samp {

     public Samp() {
        super();
    }
    public String sayHi()
    {
        return("Hello");
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println ("Hello world");
    }

    public static int add(int a, int b)
    {
        return(a+b);
    }
}

C:\temp\tem\samp.jar Jar ファイルはそのディレクトリに存在します。以下のコードを使用してjarファイルを接続しています。

パイソンコード:

>>import jpype
>>jpype.startJVM(jpype.getDefaultJVMPath(), '-ea', '-     Djava.class.path=c:\\temp\\tem')
>>A = jpype.JClass("Samp")
>>a = Samp()
>>print a.sayHi()
>>jpype.shutdownJVM()

上記のコードを実行すると、次のエラーが発生します

トレースバック (最新の呼び出しが最後): ファイル ""、1 行目、ファイル "C:\Python27\lib\site-packages\jpype_jclass.py"、54 行目、JClass raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found " % name)jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class Sampが見つかりません

4

1 に答える 1

0

あなたがしたい4行目で

>>> a = A()

その後

>>> print a.sayHi()
于 2016-03-09T11:31:01.563 に答える