除了print语句之外,还有其他方法可以检查jpype和java之间的连接吗?我已经在anaconda中安装了jpype (Windows1064位,anaconda python27 (64位)和anaconda cloud中的jpype )。我可以导入jpype并创建javaclasses和javaojects。但是,当我尝试获取一条print语句时,什么也没有发生,并且我不知道为什么。
from jpype import *
getDefaultJVMPath()
Out[2]: u'C:\\Program Files\\Java\\jre1.8.0_131\\bin\\server\\jvm.dll'
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("JPYPE WORKS !")无打印语句
javaPackage = JPackage("java.lang")
javaClass = javaPackage.String
javaObject = javaClass("Hello, Jpype")
javaObject
Out[8]: <jpype._jclass.java.lang.String at 0xc1b8b70>
java.lang.System.out.println(javaObject)无打印语句
getDefaultJVMPath()是正确的。但是我无法获得与jvm的连接,也找不出哪里出了问题。有什么建议吗?
发布于 2019-01-29 21:17:47
当你使用Jupyter Notebook时就是这种情况。如果您在Python控制台中或使用.py文件执行它,它会工作得很好。如果你想知道为什么它适用于getDefaultJVMPath(),这里是为什么
type(getDefaultJVMPath()) 返回'str‘。但
type(java.lang.System.out.println("JPYPE WORKS !"))返回“”NoneType“”
希望这能有所帮助!
https://stackoverflow.com/questions/44454533
复制相似问题