Python使用jpype模塊調用jar包過程解析
一、jpype模塊是什么?
能夠讓 python 代碼方便地調用 Java 代碼的工具
二、jpype模塊安裝
安裝和其它模塊沒區(qū)別,但是注意模塊名 是 jpype1 ,后面有個1
pip install jpype1
三、jpype模塊應用(macOs下)
筆者在標題里面?zhèn)渥⒘怂褂玫牟僮飨到y(tǒng),因為windows操作系統(tǒng)的一個配置有點區(qū)別,待會遇到再講解吧。
3.1 jpype模塊測試
import jpype
# getDefaultJVMPath 獲取默認的 JVM 路徑
jvm_path = jpype.getDefaultJVMPath()
# startJVM()啟動 JAVA 虛擬機
jpype.startJVM(jvm_path,'-ea',convertStrings=False)
# 利用jpype調用輸出語句
jpype.java.lang.System.out.println('Success')
# shutdownJVM()關閉JAVA虛擬機
jpype.shutdownJVM()
在上面代碼中,如果你成功輸出hello,說明環(huán)境安裝配置成功了。
其中 jpype.startJVM() 的定義是
startJVM(jvm, *args)
參數(shù) 1: jvm, 描述的是系統(tǒng)中 jvm.dll 文件所在的路徑,可以通過調用 jpype.getDefaultJVMPath() 得到默認的 JVM 路徑。
參數(shù) 2: args, 為可選參數(shù),會被 JPype 直接傳遞給 JVM 作為 Java 虛擬機的啟動參數(shù)。此處適合所有合法的 JVM 啟動參數(shù),例
如:
常用為-ea啟動斷言機制、-Djava.class.path調用的jar包路徑、-Djava.ext.dirs調用jar包的依賴包目錄等
3.2 jpype模塊調用jar包
第一步:編寫java一個類,用eclipse等工具編寫,代碼如下:
package com.newdream; //簡單的一個java類 public class Calc { int num1; int num2; public Calc(int n1,int n2) { this.num1 = n1; this.num2 = n2; } public int add() { return this.num1 + this.num2; } public int sub() { return this.num1 - this.num2; } }
第二步:通過在eclipse中右擊該類,點擊export導出為jar包格式
第三步:把jar包放到python項目下后,編寫代碼如下即可調用:
import jpype jvm_path = jpype.getDefaultJVMPath() jpype.startJVM(jvm_path, '-ea', '-Djava.class.path=%s'%'./libs/Calc.jar', convertStrings=False) jclass = jpype.JClass('com.newdream.Calc') #加載類 calc = jclass(10,20) #傳入所需參數(shù) value = calc.add() #調用類中的add方法 print(value) jpype.shutdownJVM() #關閉JAVA虛擬機
以上即可完成調用jar包。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python使用正則表達式抓取網(wǎng)頁圖片的方法示例
這篇文章主要介紹了Python使用正則表達式抓取網(wǎng)頁圖片的方法,結合具體實例形式分析了Python網(wǎng)頁文件的讀取及正則匹配相關操作技巧,需要的朋友可以參考下2017-04-04python selenium對應的瀏覽器chromedriver版本不一致問題
這篇文章主要介紹了python selenium對應的瀏覽器chromedriver版本不一致問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08python使用scapy模塊實現(xiàn)ARP掃描的過程
這篇文章主要介紹了python使用scapy模塊實現(xiàn)ARP掃描的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01把JSON數(shù)據(jù)格式轉換為Python的類對象方法詳解(兩種方法)
本文通過兩種方法給大家介紹了把JSON數(shù)據(jù)格式轉換為Python的類對象,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06更改Python的pip install 默認安裝依賴路徑方法詳解
今天小編就為大家分享一篇更改Python的pip install 默認安裝依賴路徑方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10