开发者

python使用jpype导入多个Jar的异常问题及解决

开发者 https://www.devze.com 2022-12-09 09:28 出处:网络 作者: 大章鱼的小学术之心
目录使用jpype导入多个Jar的异常python调用jpype 报错OSError JVM is already started和JVM cannot be restarted总结使用j编程客栈pype导入多个Jar的异常
目录
  • 使用jpype导入多个Jar的异常
  • python调用jpype 报错
    • OSError JVM is already started和JVM cannot be restarted
  • 总结

    使用j编程客栈pype导入多个Jar的异常

    在使用Jpype导入多个Jar包时,采用以下代码在linux系统执行时会抛出异常。

    jar_path1 = './lib/A.jar'

    jar_path2 = './lib/B.jar'www.devze.com

    jar_path = "-DJava.class.path=%s;%s"%(jjsar_path1,jar_path2)

    TypeError: Class com.XXX.XXX.XXX is not found

    这个异常源于linux系统和Windows系统间隔符的问题。

    采用以开发者_Go学习下加载方编程法顺利解决问题

    jpype.startJVM('-ea', classpath=['path1', 'path2'])
    print(jpype.java.lang.System.getProperty('java.class.path'))

    python调用jpype 报错

    OSError JVM is already started和JVM cannot be restarted

    解决办法:既然报错是因为虚拟机已经开启时再次开启会报错,所以我们在开启时如果报错虚拟机已经开启直接跳过

      try:
        jvmPath = jpype.getDefaultJVMPath()
        jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s"android % './jars/jpype_test_new.jar')
      except Exception as e:
        print(str(e))

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号