0
点赞
收藏
分享

微信扫一扫

python 调用jar包


一、场景:是时候接口测试有写加密解密。用python写出来比较费事,费时。直接把开发的加密jar包哪来调用就好了

二、安装 pip install jpype1

三、调试环境是否通,代码如下:

# *_*coding:utf-8 *_*
# @Author : zyb
import jpype
#自动获取D:\jrepath\1832\bin\client\jvm.dll
jvmPath = jpype.getDefaultJVMPath()
jpype.startJVM(jvmPath)
jpype.java.lang.System.out.println('hello world!')
jpype.shutdownJVM()

 

 执行结果:打印 hello word! 就说明环境没有问题,注意的是 python是64位的 那么jdk也要是64位的,不然会报错。

四、实际调用会有很多的jar依赖吧,也不知道对不对,就给整出来了,记录一下先

java源码

public class MathDemo {
public int add(int a, int b) {
return a+b;
}
}

 

# *_*coding:utf-8 *_*
# @Author : zyb
import jpype
import os
#获取../jre/bin/server/jvm.dll文件位置
jvmPath = jpype.getDefaultJVMPath()
#获取当前路径
ext_classpath = os.getcwd()
#用分号连接所有jar包
jar_path = ";".join(i for i in os.listdir(r'F:\MyPath\test') if '.jar' in i)
#启动jvm虚拟机,加载所有jar包,每个jar包用分号连接
jpype.startJVM(jvmPath, "-ea", '-Djava.class.path={}\\{}'.format(ext_classpath, jar_path))
#加载java类
JDClass = jpype.JClass("MathDemo")
#实例化对象
apiHelper = JDClass()
#调用方法
print(apiHelper.add(5,6))
#关闭jvm虚拟机

执行结果可以 11



举报

相关推荐

0 条评论