2016-02-22 12 views
0

Я использую следующий фрагмент кода для вызова функции, присутствующей в файле jar. но я не могу подключить класс.jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class Sample не найден

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 файл Presen в этом каталоге. Я подключаю файл 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() 

Выполнив выше кода, я получаю следующее сообщение об ошибке

Traceback (самый последний вызов последнего): Файл "", строка 1, в Файл «C : \ Python27 \ lib \ site-packages \ jpype_jclass.py ", строка 54, в JClass raise _RUNTIMEEXCEPTION.PYEXC (" Класс% s не найден "% name) jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class Samp не найдено

ответ

0

На четвертой строке вы хотите сделать

>>> a = A() 

, а затем

>>> print a.sayHi() 
+0

Спасибо cpburnz, я использовал синтаксис этого вопроса. :-) –