• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
九五二七乌托邦
博客园    首页    新随笔    联系   管理    订阅  订阅

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虚拟机
jpype.shutdownJVM()

执行结果可以 11

搜索

复制

posted @ 2022-07-14 14:19  九五二七乌托邦  阅读(991)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3