python中调用java函数
- 1. 将java项目打包成jar(IDEA)
- 2. 在python中调用jar
1. 将java项目打包成jar(IDEA)
【Ctrl+Shift+Alt+S】或者“File --> Project Structure --> Project Settings” 选择Artifacts选项卡,点击+号,选择"JAR --> From modules with dependencies…"
选择一个Main Class作为项目的启动文件,然后点OK
点击带下标的+号,选择Library Files将外部依赖jar都引入,然后点OK
选择"Build --> Build Artifacts… --> %Project Name%:jar --> Build",在out文件夹中会生成该项目的jar文件
2. 在python中调用jar
下载jpype
pip install jpype1
在python中:
import jpype# 目标jar包的绝对路径
jar_path = 'D:/workplace/Auth/Auth/out/artifacts/Auth_jar2/Auth.jar' # jdk的虚拟环境jvm.dll的绝对地址,可以用jpype方法获取默认java的jvm.dll地址
# jvmPath = 'C:\Program Files\Java\jdk-1.8\jre\bin\server\jvm.dll'
jvmPath = jpype.getDefaultJVMPath()# 加载java虚拟机
jpype.startJVM(jvmPath, '-ea', '-Djava.class.path=' + jar_path)# 获取指定的java类,注意类名要从包名开始写
java_class = jpype.JClass('org.example.ITest') # 静态函数可以直接直接调用
java_class.static_func()
# 否则需要先实例化类
class_instance = java_class()
class_instance.dynmic_func()# 关闭java虚拟机
jpype.shutdownJVM()