python使用jpype導(dǎo)入多個(gè)Jar的異常問(wèn)題及解決
使用jpype導(dǎo)入多個(gè)Jar的異常
在使用Jpype導(dǎo)入多個(gè)Jar包時(shí),采用以下代碼在linux系統(tǒng)執(zhí)行時(shí)會(huì)拋出異常。
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
這個(gè)異常源于linux系統(tǒng)和windows系統(tǒng)間隔符的問(wèn)題。
采用以下加載方法順利解決問(wèn)題
jpype.startJVM('-ea', classpath=['path1', 'path2'])
print(jpype.java.lang.System.getProperty('java.class.path'))python調(diào)用jpype 報(bào)錯(cuò)
OSError JVM is already started和JVM cannot be restarted
解決辦法:既然報(bào)錯(cuò)是因?yàn)樘摂M機(jī)已經(jīng)開(kāi)啟時(shí)再次開(kāi)啟會(huì)報(bào)錯(cuò),所以我們?cè)陂_(kāi)啟時(shí)如果報(bào)錯(cuò)虛擬機(jī)已經(jīng)開(kāi)啟直接跳過(guò)
? ? 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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例
今天小編就為大家分享一篇在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python中的多行注釋文檔編寫(xiě)風(fēng)格匯總
在Python中利用多行注釋編寫(xiě)小型的程序文檔說(shuō)明非常方便,而約定俗成的格式也多種多樣,這里我們就進(jìn)行一下最常見(jiàn)的Python中的多行注釋文檔編寫(xiě)風(fēng)格匯總:2016-06-06
基于python實(shí)現(xiàn)復(fù)制文件并重命名
這篇文章主要介紹了基于python實(shí)現(xiàn)復(fù)制文件并重命名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
完美解決Django2.0中models下的ForeignKey()問(wèn)題
這篇文章主要介紹了完美解決Django2.0中models下的ForeignKey()問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05

