欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用jpype導(dǎo)入多個(gè)Jar的異常問題及解決

 更新時(shí)間:2022年12月08日 11:25:44   作者:大章魚的小學(xué)術(shù)之心  
這篇文章主要介紹了python使用jpype導(dǎo)入多個(gè)Jar的異常問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用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)間隔符的問題。

采用以下加載方法順利解決問題

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)開啟時(shí)再次開啟會(huì)報(bào)錯(cuò),所以我們?cè)陂_啟時(shí)如果報(bào)錯(cuò)虛擬機(jī)已經(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é)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論