python使用jpype導(dǎo)入多個Jar的異常問題及解決
使用jpype導(dǎo)入多個Jar的異常
在使用Jpype導(dǎo)入多個Jar包時,采用以下代碼在linux系統(tǒng)執(zhí)行時會拋出異常。
jar_path1 = './lib/A.jar'
jar_path2 = './lib/B.jar'
jar_path = "-Djava.class.path=%s;%s"%(jar_path1,jar_path2)TypeError: Class com.XXX.XXX.XXX is not found
這個異常源于linux系統(tǒng)和windows系統(tǒng)間隔符的問題。
采用以下加載方法順利解決問題
jpype.startJVM('-ea', classpath=['path1', 'path2'])
print(jpype.java.lang.System.getProperty('java.class.path'))python調(diào)用jpype 報錯
OSError JVM is already started和JVM cannot be restarted
解決辦法:既然報錯是因為虛擬機已經(jīng)開啟時再次開啟會報錯,所以我們在開啟時如果報錯虛擬機已經(jīng)開啟直接跳過
? ? try: ? ? ? ? jvmPath = jpype.getDefaultJVMPath() ? ? ? ? jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % './jars/jpype_test_new.jar') ? ? except Exception as e: ? ? ? ? print(str(e))
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實例
今天小編就為大家分享一篇在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
完美解決Django2.0中models下的ForeignKey()問題
這篇文章主要介紹了完美解決Django2.0中models下的ForeignKey()問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

