【python】调用jar包

在实际的使用过程中,存在需要用python直接调用jar包中的java函数的情况,如下进行说明:
ps:使用python3
import jpype
# 打开jvm
jar_path = 'E:/javaProject/apptest/target/apptest-1.0-SNAPSHOT-jar-with-dependencies.jar'
# 第二个参数是jar包的路径
jarpath = os.path.join(os.path.abspath('.'), jar_path)
# 启动jvm
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" %(jarpath))
# jpype.startJVM("C:/Program Files/Java/jdk1.8.0_131/jre/bin/server/jvm.dll", "-ea", "-Djava.class.path=%s" %(jarpath))

# 创建类的实例,可以调用类里边的方法
java_class = jpype.JClass('apptest.ApiAuthUtils')
instance = java_class()
request_json_login = '{"telephone":"18010697718","password":"000000"}'
login_data = instance.encode(salt, request_json_login)
print(login_data)
map = jpype.java.util.HashMap()
map.put("salt", salt)
map.put("time", salt_time)
map.put("version", version)
map.put("data", login_data)
login_sign = instance.sign(map)
print(login_sign)
post_login()

# 关闭jvm
jpype.shutdownJVM()

  

参考文档:

调用jar包:https://blog.csdn.net/qq1443955916/article/details/73932964

hashmap:https://blog.csdn.net/wzhqazcscs/article/details/103946092

原文地址:https://www.cnblogs.com/forest-sunshine/p/13886164.html