【问题标题】:jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class Sample not foundjpype._jexception.ExceptionPyRaisable:java.lang.Exception:找不到类示例
【发布时间】:2016-02-22 09:09:34
【问题描述】:

我正在使用以下代码片段来调用 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 文件。

python代码:

>>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 行,in 文件“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 没找到

【问题讨论】:

    标签: python-2.7 jpype


    【解决方案1】:

    第四行你想做的事

    >>> a = A()
    

    然后

    >>> print a.sayHi()
    

    【讨论】:

    • 感谢 cpburnz,我使用了问题的语法。 :-)
    猜你喜欢
    • 2014-06-19
    • 2011-10-06
    • 2014-06-24
    • 1970-01-01
    • 2021-06-03
    • 2020-04-25
    • 2020-11-07
    • 1970-01-01
    • 2021-01-30
    相关资源
    最近更新 更多