JPype调用Java代码

安装所需要的库

pip install JPype1-py3

准备一个jar包

java工程目录

Python3-JPype调用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;
	}
}

Eclipse中打包)

1、项目右击选择Export导出.

Python3-JPype调用Java代码

2、选择JAVA file,Next

Python3-JPype调用Java代码

3、选择生成的jar名称和路径。

Python3-JPype调用Java代码

4、得到一个jar包

Python3-JPype调用Java代码

JPype的基本使用

导包

from jpype import *

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

参数一:JRE中的jvm.dll路径:
1. get_default_jvm_path():获取本地默认的jvm.dll
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()

(五)运行结果如下:

Python3-JPype调用Java代码


Java打包jar(单个文件):

1. 编译成class文件:javac Java文件;例:javac Demo.java

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


【完】


相关文章: