有没有办法检查除了print语句之外的jpype和java之间的连接? 我已经在anaconda中安装了jpype(Windows 10 64bit,anaconda python27(64位)和来自anaconda云的jpype)。我可以导入jpype并创建javaclasses和javaojects。但是,当我试图获得一份印刷声明时,没有任何反应,我无法弄清楚原因。
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建立联系,我无法弄清楚它出错的地方。 有什么建议吗?
答案 0 :(得分:0)
使用Jupyter Notebook时就是这种情况。如果您是在Python控制台中执行此操作或使用.py文件,则此方法效果很好。如果您想知道为什么它适用于getDefaultJVMPath()
,这就是为什么
type(getDefaultJVMPath())
返回'str'。但是
type(java.lang.System.out.println("JPYPE WORKS !"))
返回“ NoneType”
希望有帮助!