python调用java的jar包
一、环境准备:windows 7(64位)+JDK(64位)+Python(64位)
二、安装jpype
1.在线安装:pip install jpype1(可能由于超时导致安装失败)
但可以通过在线安装找到自己需要安装的对应版本

2.离线安装:
①下载对应版本 https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
②pip install 离线包的位置

三、python调用jar包
1 # 导入jpype模块 2 import jpype 3 import os 4 5 if __name__ == "__main__": 6 # python要调用的java的jar包路径 7 jarpath = os.path.join(os.path.abspath("."), "D:\\PycharmProjects\\biyao\\jmeter-md5.jar") 8 9 # 获取jvm.dll的文件路径 10 jvmPath = jpype.getDefaultJVMPath() 11 12 # 使用jpype开启虚拟机 13 jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % jarpath) 14 15 # 加载java类 16 Test = jpype.JClass("com.biyao.util.MD5Util") 17 18 # 实例化java对象 19 # javaObject = Test() 20 21 # 调用java方法 22 result_sign = Test.genMd5("哈哈哈") 23 print(result_sign) 24 25 # 关闭jvm 26 jpype.shutdownJVM()
1 # 导入jpype模块 2 import jpype 3 import os 4 5 def encrypt(secret, bizContent): 6 # python要调用的java的jar包路径 7 jarpath = os.path.join(os.path.abspath("."), "D:\\PycharmProjects\\biyao\\AESUtil.jar") 8 9 # 获取jvm.dll的文件路径 10 jvmPath = jpype.getDefaultJVMPath() 11 12 # 使用jpype开启虚拟机 13 if jpype.isJVMStarted() is not True: 14 jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % jarpath) 15 16 # 加载java类 17 Test = jpype.JClass("AESUtil") 18 19 # 实例化java对象 20 # javaObject = Test() 21 22 # 调用java方法 23 # str(javaclass.调用方法) 24 str_bizContent = Test.doEncrypt(secret, bizContent) 25 26 # 关闭jvm(若关闭jvm,则return 会报错;用str(javaclass.调用方法)的方式可以解决报错,但多次调用该方法仍会出问题) 27 # jpype.shutdownJVM() 28 return str_bizContent

浙公网安备 33010602011771号