jpype模块,让我们可以调用java代码编译的jar包或者java语句
如果用python脚本去执行java包,还是很使用和迅速的
首先我们要有java 运行环境,我的系统是ubuntu16.04
安装Java的最简单的选择是使用与Ubuntu一起打包的版本。 具体来说,这将安装OpenJDK 8,最新和推荐的版本。
首先,更新包索引。
sudo apt-get update
接下来,安装Java。 具体来说,此命令将安装Java运行时环境(JRE)。
sudo apt-get install default-jre
还有另一个默认的Java安装,称为JDK(Java开发工具包)。 JDK通常只需要如果你要编译Java程序,或者如果使用Java的软件特别需要它。
JDK确实包含JRE,因此如果安装JDK而不是JRE,除了较大的文件大小,则没有缺点。
您可以使用以下命令安装JDK:
sudo apt-get install default-jdk
Python也要先安装好jpype 模块
sudo pip jpype1 #注意后面有一个1,参考官网
举例子:
import os from jpype import * host = "192.168.1.158" port = 9100 # 获取jar包的路径 jarpath=os.path.join(os.path.abspath("."),"tscsdk.jar") # getDefaultJVMPath() --获取系统的jvm路径 startJVM(getDefaultJVMPath(), "-ea","-Djava.class.path=%s" % jarpath) # 使用java字节码中定义的类 FormatScript = JClass('com.example.tscdll.TscWifiActivity') # 实例化这个类 t = FormatScript() # 调用类方法 so = t() signature = so.openport(host, port) print(signature) # 关闭jvm shutdownJVM()
项目目录:
调用java语句:
import jpype jvmPath = jpype.getDefaultJVMPath() # 获得系统的jvm路径 jpype.startJVM(jvm=jvmPath) # 启动虚拟机 # 执行JAVA代码 jpype.java.lang.System.out.println("hello world") jpype.shutdownJVM() # 关闭jvm
截图
参考博文:
https://www.cnblogs.com/fanghao/p/7745356.html