次のコード スニペットを使用して、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が見つかりません