zoukankan      html  css  js  c++  java
  • 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


    【完】


  • 相关阅读:
    grep 命令操作
    vi & vim复制,粘贴,剪切文本
    β版本第四次冲刺
    β版本第三次冲刺
    β版本第二次冲刺
    β版本第一次冲刺
    华为软件开发云,个人评测及体会
    事后诸葛亮
    【Alpha】团队课程展示
    团队Alpha博客链接目录
  • 原文地址:https://www.cnblogs.com/desireyang/p/12119557.html
Copyright © 2011-2022 走看看