python调用jar包里的方法:jpype
最近做自动化测试的时候,碰到一些问题,在此记录一下,因为目前公司的某些接口返回的数据,需要调用java的某些方法,生成公私钥,我是用python做测试,研发是用java写代码,所以需要用python调用java的方法处理数据,研究了一周,终于通了
1、环境配置
我用的是win10,python3.8、java version “1.8.0_181”,环境配置自己慢慢来哈,最坑的是jvm.dll问题,调试好久发现是路径有问题,环境变量一定要配置正确哈,另外网上说环境的位数要保持一致哈,不然老是报错
在这里插入代码片
import jpype
jvmPath = jpype.getDefaultJVMPath() # 获取jvm.dll路径
ext_classpath = os.getcwd()#获取当前路径
jar_path = ";".join(i for i in os.listdir('D:\\gmrz\\TestApi\\SdkJar') if '.jar' in i)#用分号连接所有jar包,所有jar包放在当前脚本路径下
jpype.startJVM(jvmPath, "-ea", '-Djava.class.path={}\\{}'.format(ext_classpath, jar_path))