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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!