Python-JPype-运行java代码

本文最后更新于:2020年12月16日 上午

信息

官网:http://jpype.sourceforge.net/
官方文档:http://jpype.sourceforge.net/documentation.html

安装

JPype请务必不要用pip直接安装,直接安装的话可能会在运行的时候出现一些错误,例如找不到getDefaultJVMPath函数

java环境安装

JRE下载:链接
JDK下载:链接
下载完毕,直接安装即可
完毕以后,配置java环境变量:链接

JPype安装

找寻对应自己版本的whl文件下载:whll链接
下载好以后用pip安装whl文件

使用

处理.java文件

JPype并不能直接运行.java代码
需要将.java文件代码转换.class文件后再转为.jar文件后才能用JPype运行

.java.class

1
javac 文件名bai.java

可能会遇到 GBK字符编码问题:解决

.class.jar

1
jar cvf [生成jar的名称.jar] [列出class文件] 

JPype代码编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from jpype import startJVM, JClass, getDefaultJVMPath, shutdownJVM

def _run_java_script():
'''
通过调用 java代码获取no
options = {'jar_path':jar路径}
'''
# 启动Java环境
startJVM(
getDefaultJVMPath(), # 这里是jre的jvm.dll路径,这个方法能让JPype自动去获取,你可以自己写
"-ea",
"-Djava.class.path="+"ddd.jar") # jar路径

# 加载自定义的Java代码中的 Java类
MyClass = JClass("MyClass")
# Java类实例化
myclass = MyClass()
# 执行成员方法
myclass.hello()
# 关闭Java环境
shutdownJVM()

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!