python3调用java_Python程序中调用Java代码的实践
1.環(huán)境準(zhǔn)備
windows 7(64位)+JDK(64位)+Python(64位)+eclipse+pycharm
還需要一個(gè)作為橋梁的工具包,jpype1,這個(gè)工具包可以啟動(dòng)jvm,使java代碼依然運(yùn)行在jvm中。
實(shí)驗(yàn)過(guò)程中使用的各個(gè)工具的具體版本如下:
JDK(64位):1.8.0_102
Python(64位):3.7.2
jpype1(64位):0.7.2 直接pip install pype1來(lái)安裝
eclipse+pycharm是兩款開(kāi)發(fā)工具,主要用來(lái)編寫(xiě)java和python代碼
2.編碼java代碼,打jar包
工具安裝完畢之后,接下來(lái)借助eclipse開(kāi)發(fā)java代碼,并打jar包。
1):開(kāi)發(fā)java代碼
2)打jar包
3)打jar包之后,獲得了jar文件。
4)開(kāi)發(fā)python腳本
#引入jpype模塊
importjpypeimportos"""基本的開(kāi)發(fā)流程如下:
①、使用jpype開(kāi)啟jvm
②、加載java類(lèi)
③、調(diào)用java方法
④、關(guān)閉jvm(不是真正意義上的關(guān)閉,卸載之前加載的類(lèi))"""
#①、使用jpype開(kāi)啟虛擬機(jī)(在開(kāi)啟jvm之前要加載類(lèi)路徑)
#加載剛才打包的jar文件
jarpath = os.path.join(os.path.abspath("."), "D:\\hr.jar")#獲取jvm.dll 的文件路徑
jvmPath =jpype.getDefaultJVMPath()#開(kāi)啟jvm
jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s" %(jarpath))#②、加載java類(lèi)(參數(shù)是java的長(zhǎng)類(lèi)名)
javaClass = jpype.JClass("com.java.python.JavaPython")#實(shí)例化java對(duì)象#javaInstance = javaClass()
#③、調(diào)用java方法,由于我寫(xiě)的是靜態(tài)方法,直接使用類(lèi)名就可以調(diào)用方法
javaClass.main()#④、關(guān)閉jvm
jpype.shutdownJVM()pass
5)運(yùn)行程序
6)如果是調(diào)用多個(gè)jar文件的話,要在jvm啟動(dòng)時(shí)指定jar文件路徑,
jarpath,jarpath2,jarpath3,jarpath4是jar文件路徑。
jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s;%s;%s;%s" % (jarpath,jarpath2,jarpath3,jarpath4))
總結(jié)
以上是生活随笔為你收集整理的python3调用java_Python程序中调用Java代码的实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: css不换行属性_前端 | css di
- 下一篇: python的类与模块_Python类与