【问题标题】:check connection jpype - java检查连接 jpype - java
【发布时间】:2017-11-11 06:42:06
【问题描述】:

除了打印语句之外,还有其他方法可以检查 jpype 和 java 之间的连接吗? 我已经在 anaconda 中安装了 jpype(Windows 10 64 位、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 的连接正常工作,而且我无法弄清楚哪里出了问题。 有什么建议吗?

【问题讨论】:

    标签: java python jvm jpype


    【解决方案1】:

    当您使用 Jupyter Notebook 时就是这种情况。如果您在 Python 控制台或使用 .py 文件执行它,它会很好地工作。如果您想知道为什么它适用于 getDefaultJVMPath(),这就是原因

    type(getDefaultJVMPath()) 
    

    返回'str'。但是

    type(java.lang.System.out.println("JPYPE WORKS !"))
    

    返回“无类型”

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 2017-03-04
      • 1970-01-01
      相关资源
      最近更新 更多