Python程序中調用Java代碼的實踐


1.環境准備

 windows 7(64位)+JDK(64位)+Python(64位)+eclipse+pycharm

 還需要一個作為橋梁的工具包,jpype1,這個工具包可以啟動jvm,使java代碼依然運行在jvm中。

 實驗過程中使用的各個工具的具體版本如下:

 JDK(64位):1.8.0_102

 Python(64位):3.7.2

 jpype1(64位):0.7.2  直接pip install pype1來安裝

   eclipse+pycharm是兩款開發工具,主要用來編寫java和python代碼

2.編碼java代碼,打jar包

工具安裝完畢之后,接下來借助eclipse開發java代碼,並打jar包。

1):開發java代碼

 

 2)打jar包

 

 

 

 3)打jar包之后,獲得了jar文件。

 

 4)開發python腳本

# 引入jpype模塊
import jpype
import os

"""
基本的開發流程如下:
①、使用jpype開啟jvm
②、加載java類
③、調用java方法
④、關閉jvm(不是真正意義上的關閉,卸載之前加載的類)
"""
# ①、使用jpype開啟虛擬機(在開啟jvm之前要加載類路徑)

# 加載剛才打包的jar文件
jarpath = os.path.join(os.path.abspath("."), "D:\\hr.jar")

# 獲取jvm.dll 的文件路徑
jvmPath = jpype.getDefaultJVMPath()

# 開啟jvm
jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s" % (jarpath))

# ②、加載java類(參數是java的長類名)
javaClass = jpype.JClass("com.java.python.JavaPython")

# 實例化java對象
# javaInstance = javaClass()

# ③、調用java方法,由於我寫的是靜態方法,直接使用類名就可以調用方法
javaClass.main()

# ④、關閉jvm
jpype.shutdownJVM()

pass

5)運行程序

 

 

6)如果是調用多個jar文件的話,要在jvm啟動時指定jar文件路徑,

jarpath,jarpath2,jarpath3,jarpath4是jar文件路徑。

jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s;%s;%s;%s" % (jarpath,jarpath2,jarpath3,jarpath4))

 

作者:大龍 
原文:https://www.cnblogs.com/dalongNOTES/p/12454092.html
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM