python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python调用jar包

python如何调用java的jar包

作者:勇敢的打工人海励

这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下

一、安装包

pip3 install JPype1

二、使用步骤

1、导入jpype模块

2、python要调用的java的jar包路径

3、获取jvm.dll的文件路径

4、使用jpype开启虚拟机

5、加载java类

6、实例化类

7、调用java方法

8、关闭jvm

三、代码演示

import jpype
#jar绝对包路径
jar_path = '/Users/qinhaili/Desktop/MathUtil.jar'
print(jar_path)
#获取默认的 JVM 路径
jvmPath = jpype.getDefaultJVMPath()
#启动 JAVA 虚拟机
jpype.startJVM(jvmPath,"-ea",f"-Djava.class.path={jar_path}")
#环境测试代码,#成功输出说明安装环境成功
jpype.java.lang.System.out.println( "hello world!" )
#获取java类
java_class = jpype.JClass('MathUtil')
#类调用静态方法(类.方法名())
result1 = java_class.sayHello()
print(result1)
#调用对象方法(类实例.方法名())
#实话java类
class_obj = java_class()
result2 = class_obj.add(1,2)
print(result2)
#关闭JAVA虚拟机
jpype.shutdownJVM()

四、自己写一个jar包

class MathUtil{
	
    public static String sayHello() {
        return "Hello How are you";
    }
    
    public MathUtil() {

    }

    public int add(int a, int b) {
        return a + b;
    }
}

五、打包步骤

1、编译得到.class文件

javac Hello.java

2、创建jar包

jar cf xxxx.jar xxx.class

3、打包必须得有java开发环境哈

六、方法补充

Python调用Java的jar包方式

其实调用 Java 的 jar 包代码,和其他外部程序一样,可以使用 Python 的 subprocess 模块或者需要调用 Java 的 API(比如 Jython)来实现。下面是两个示例代码:

使用 subprocess 模块:

import subprocess

java_path = "/usr/bin/java"  # Java 的路径
jar_path = "path/to/your/jar/file.jar"  # jar 包的路径

# 要执行的命令
cmd = [java_path, "-jar", jar_path]

# 执行
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()

# 打印输出和错误
print(out.decode("utf-8"))
print(err.decode("utf-8"))

使用 Jython API:

from java.lang import Runtime

jar_path = "path/to/your/jar/file.jar"  # jar 包的路径

# 获取当前 JVM 实例
jvm = Runtime.getRuntime()

# 加载 jar 包
jvm.load(jar_path)

# 调用 jar 包中的方法
result = jvm.callMethod("com.example.YourClass", "yourMethod", arg1, arg2)

# 打印结果
print(result)

这里假设你已经安装好了 Jython。需要注意的是,这种方式需要在 Jython 中编写代码,而不是 Python,因为 Jython 是一种 Python 解释器,它能够解析 Java 代码。

到此这篇关于python如何调用java的jar包的文章就介绍到这了,更多相关python调用jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文