Python3-JPype調用Java代碼


JPype調用Java代碼

安裝所需要的庫

pip install JPype1-py3

准備一個jar包

java工程目錄

一個簡單的登陸功能函數

package com.desire;

public class Login_demo {

	private final String UNAME = "desire";
	private final String PWD = "123456";

	public String login(String user_name, String pwd) {

		String result = "";

		if (user_name != null && !"".equals(user_name) && pwd != null && !"".equals(pwd)) {
			if (user_name.equals(UNAME)) {
				if (pwd.equals(PWD)) {
					result = "{\"code\":\"0\",\"msg\":\"登陸成功\"}";
				} else {
					result = "{\"code\":\"1003\",\"msg\":\"密碼錯誤\"}";
				}
			} else {
				result = "{\"code\":\"1002\",\"msg\":\"用戶不存在\"}";
			}
		} else {
			result = "{\"code\":\"1001\",\"msg\":\"賬號密碼不能為空\"}";
		}

		return result;
	}
}

把Java工程打包成jar文件(在Eclipse中打包)

1、項目右擊選擇Export導出.

2、選擇JAVA file,Next

3、選擇生成的jar名稱和路徑。

4、得到一個jar包

JPype的基本使用

導包

from jpype import *

(一)啟用JVM,jpype.startJVM()

參數一:JRE中的jvm.dll路徑:
1. get_default_jvm_path():獲取本地默認的jvm.dll
2. 直接使用路徑:"C:/Java/jre1.8.0_181/bin/server/jvm.dll"
參數二:固定寫法"-ea"
參數三:加載jar包路徑("-Djava.class.path=jar包路徑")
加載jar文件需要加上"-Djava.class.path=DemoProject.jar"
如果需要加載多個jar包,則每個jar包之間用分號隔開"-Djava.class.path=DemoProject.jar;jar/Beach.jar"
startJVM(get_default_jvm_path(), "-ea", "-Djava.class.path=DemoProject.jar")

注意:當有其他依賴JAR包時,一定要使用-Djava.ext.dirs = ext_dirs進行引入

(二)創建類對象

# 創建類,如果有包名需要加上包名
LoginDemoClass = JClass("com.desire.Login_demo")
# 創建類對象
loginDemo = LoginDemoClass()

(三)調用方法

result = loginDemo.login("desire2", "123")
print(result)

(四)關閉JVM

shutdownJVM()

(五)運行結果如下:


Java打包jar(單個文件):

1. 編譯成class文件:javac Java文件;例:javac Demo.java

2. 打包命令:jar cvf jar包 類文件;例:jar cvf Demo.jar Demo.class


【完】



免責聲明!

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



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