python呼叫java程式--jpype
阿新 • • 發佈:2019-01-27
python呼叫java程式–jpype
1.安裝
首先在官網上下載程式安裝包
ubuntu系統可以直接通過 sudo apt-get install python-jpype 命令安裝 ,但是因為會附帶安裝open-jdk pass ,手動安裝jdk,然後再安裝jpype
解壓目錄 切換到setup.py 目錄執行 sudo python setup install 即可,
在ubuntu系統需注意在setup.py檔案中指定java home 目錄
def setupLinux(self): self.javaHome = os.getenv("JAVA_HOME") if self.javaHome is None : self.javaHome = '/usr/lib/jvm/java' #self.javaHome = '/usr/lib/jvm/java-1.5.0-sun-1.5.0.08' # Ubuntu linux # self.javaHome = '/usr/java/jdk1.5.0_05' self.jdkInclude = "linux" self.libraries = ["dl"] self.libraryDir = [self.javaHome+"/lib"]
然後開啟python shell 輸入 import jpype 不報錯,證明安裝成功
2.使用
簡單執行java api
import jpype
jpype.startJVM(jpype.getDefaultJVMPath())
jpype.java.lang.System.out.println("hello world!")
jpype.shutdownJVM()
呼叫java jar包
package jpype; public class JpypeDemo { public void sayHello(String inputStr){ System.out.println(inputStr) } }
java程式碼需要先Export成jar包
from jpype import * import os.path jarpath = os.path.join(os.path.abspath('.'), 'jar包目錄') startJVM(getDefaultJVMPath(),"-ea", "-Djava.class.path=%s" % (jarpath + 'XXX.jar')) JDClass = JClass("jpype.JpypeDemo") jd = JDClass() #jd = JPackage("jpype").JpypeDemo() #兩種建立jd的方法 jd.sayHello("hello world") shutdownJVM()