前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python调用jar包

python调用jar包

作者头像
Echo_Wish
发布2023-11-30 19:18:41
1910
发布2023-11-30 19:18:41
举报
文章被收录于专栏:数据结构和算法

jpype 调用 jar 包 环境:python 3.6.8 + jpype1 0.6.3 + jdk 1.8 “”" 基本的开发流程如下: ①、使用jpype开启jvm ②、加载java类 ③、调用java方法 ④、关闭jvm(不是真正意义上的关闭,卸载之前加载的类) “”"

①、使用jpype开启虚拟机(在开启jvm之前要加载类路径)

加载刚才打包的jar文件

path = r"C:\Users\Administrator\Desktop\xxx.jar" jarpath = os.path.join(os.path.abspath(‘views’), path)

获取jvm.dll 的文件路径

jvmPath = jpype.getDefaultJVMPath()

jvmPath = ‘C:/Program Files/Java/jdk1.8.0_291/jre/bin/server/jvm.dll’

开启jvm

jpype.startJVM(jvmPath, “-ea”, “-Djava.class.path=%s” % (jarpath))

②、加载java类(参数是java的长类名)

javaClass = jpype.JClass(“com.it.zty.JwtUtils”)

实例化java对象

javaInstance = javaClass()

③、调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法

user_id = javaClass.getUserId(token)

④、关闭jvm

jpype.shutdownJVM() 注意的是:python 的位数 和 jdk 的位数一定要保持相同,否则会抛出 Process finished with exit code -1073741819 (0xC0000005) 的错误。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ①、使用jpype开启虚拟机(在开启jvm之前要加载类路径)
  • 加载刚才打包的jar文件
  • 获取jvm.dll 的文件路径
  • jvmPath = ‘C:/Program Files/Java/jdk1.8.0_291/jre/bin/server/jvm.dll’
  • 开启jvm
  • ②、加载java类(参数是java的长类名)
  • 实例化java对象
  • javaInstance = javaClass()
  • ③、调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法
  • ④、关闭jvm
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档