Python中調用Java程序包


 《原創不易,轉載請標明出處:https://www.cnblogs.com/bandaobudaoweng/p/10785766.html》

    開發Python程序,需求中需要用到Java代碼,Python作為“膠水”語言能夠很好的實現這種需求。具體實現的過程如下:

    語言及包版本:python3.7(64位)、jdk1.8.0_271JPype1-1.2.1-cp37-cp37m-win_amd64(64位

    編輯器:eclipsepycharm

   Jpype:得到離線包之后,在cmd中使用命令:     pip install   JPype1-1.2.1-cp37-cp37m-win_amd64   提示:successful 就安裝成功

   

 

 

 

1、在eclipse里編輯Java程序並打包生成jar文件

 

 

 

 

 

 

 用python在cmd窗口運行:python  jpype_test.py

# 引入jpype模塊
import jpype
import os

if __name__ == '__main__':
    """
    基本的開發流程如下:
    ①、使用jpype開啟jvm
    ②、加載java類
    ③、調用java方法
    ④、關閉jvm(不是真正意義上的關閉,卸載之前加載的類)
    """
    # ①、使用jpype開啟虛擬機(在開啟jvm之前要加載類路徑)
    # 加載剛才打包的jar文件
    jarpath = os.path.join(os.path.abspath("."), "C:\\Users\\teddy\\Desktop\\JavaFile\\HelloWorld.jar")
    # 獲取jvm.dll 的文件路徑
    jvmPath = jpype.getDefaultJVMPath()

    # 開啟jvm:.如果是調用多個jar文件的話,要在jvm啟動時指定jar文件路徑,jarpath,jarpath2,jarpath3,jarpath4是jar文件路徑。
# jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s;%s;%s;%s" % (jarpath,jarpath2,jarpath3,jarpath4))
    jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s" % (jarpath))

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

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

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

    # ④、關閉jvm:jvm隨着python程序的退出而結束
    jpype.shutdownJVM()

    pass

 

 

 

參考別人的文章,自己跑了一遍,效果還可以。

 


免責聲明!

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



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