背景:使用jpype调用Java接口

代码如下:

from jpype import *

path = getDefaultJVMPath()
startJVM(path, "-ea")
java.lang.System.out.println("Hello World")
shutdownJVM()

报错:

发现错误过程:

看这个错误应该是路径有问题,\D:\Program Files\Java\jdk1.8.0_241\lib\tools.jar,看到这个前面多了一个“\”,手动去掉“\”,验证是不是这个原因

两种方式:

一、debug模式找到这个参数手动修改

classpath='.;D:\\Program Files\\Java\\jdk1.8.0_241\\lib\\dt.jar;D:\\Program Files\\Java\\jdk1.8.0_241\\lib\\tools.jar;D:\\Program Files\\Java\\jdk1.8.0_241\\bin;.'

二、通过指定参数直接修改

from jpype import *

path = getDefaultJVMPath()
# startJVM(path, "-ea")
startJVM(path, "-ea",
         classpath='.;D:\\Program Files\\Java\\jdk1.8.0_241\\lib\\dt.jar;D:\\Program Files\\Java\\jdk1.8.0_241\\lib\\tools.jar;D:\\Program Files\\Java\\jdk1.8.0_241\\bin;.')
java.lang.System.out.println("Hello World")
shutdownJVM()

错误消除

彻底修改:

程序读的应该是本机环境变量直接设置好的CLASSPATH,检查环境变量

果然多了一个“\”,手动删除后重启电脑生效

重新验证:

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐