YJ993 large avatar
测试学习小组  ›  python接口自动化

python3使用jpype调用jar的时候,第一次执行成功,第二执行报错OSError: JVM is already started?有大佬知道怎么解决的吗?

By YJ993 at 7 个月前 , 1026 次浏览
from jpype import *

class jiaoyanV3(object):
def __init__(self):
startJVM(r'C:\Program Files\Java\jre1.8.0_151\bin\server\jvm.dll', '-ea',
r'-Djava.class.path=F:/python/auto_tools/auto_v3check/toolpage/V3CRCTool-0.0.1-SNAPSHOT.jar')
JDclass = JClass("com.bsj.V3CRCTool.App")
self.jd =JDclass()

def v3check(self,data):
aa = self.jd.JiaoYan(data)
shutdownJVM()
return aa

def closeJVM(self):
shutdownJVM()

if __name__ == "__main__":
sign = jiaoyanV3()
aa = sign.v3check("78781101000001550568296820003200000153580D0A")
print(aa)
sign.closeJVM()


3 回复
乙醇 medium avatar
#1 - 6 个月前
乙醇

能不能每次结束的时候强行杀掉jvm呢

YJ993 medium avatar
#2 - 6 个月前
YJ993

结束的时候杀掉进程吗?如果杀掉进程的话,不就退出程序了吗?我是想最后打包成exe的,又能一直调用

乙醇 medium avatar
#3 - 6 个月前
乙醇

jvm是独立的进程,可以杀的

测试学习小组 — 软件测试学习讨论区
现在注册
已注册用户请 登入
内容分享

欢迎关注我们的公众号: 测试圈TC


小贴士

你的问题在测试教程网中能找到答案