最近用python写代码,需要调用一个java写的SDK。具体调用如下:
1.安装jpype:
pip install jpype1
2.验证安装是否成功:
from jpype import *
import jpype
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea") # jpype.getdefaultjvm_path(),获取jvm的系统路径
"""
jpype.startJVM(),启动虚拟机
* @param01:jvm为系统中jvm.dll的所在路径,调用jpype.getdefaultjvm_path()得到后可以指定;
* @param02:args为启动参数,可选填,常用为-ea启动断言机制、-Djava.class.path调用的jar包路径、-Djava.ext.dirs调用jar包的依赖包目录
"""
jpype.java.lang.System.out.println("HelloWorld") #
jpype.shutdownJVM() #关闭虚拟机
3.调用jar
from jpype import *
import jpype
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=此处填写jar包的路径") #调用jar,
JDClass =jpype.JClass("com.*.**.***") #这说明类在jar包中的目录结构是"com.*.**.***" 调用jar包中的某个具体的类,(填入类在jar包中的地址)
f = JDClass() #将其实例化
"""
假设调用的类中有个方法名叫“hello()”
我们就可以直接这样调用。
"""
f.hello()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)