报错SystemError: java.nio.file.InvalidPathException: Illegal char <:> at index 2

背景:使用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,检查环境变量

报错SystemError: java.nio.file.InvalidPathException: Illegal char <:> at index 2_第1张图片

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

重新验证:

 报错SystemError: java.nio.file.InvalidPathException: Illegal char <:> at index 2_第2张图片

你可能感兴趣的:(python,学习笔记)