python如何调用java的jar包

 更新时间:2025年06月22日 15:59:29   作者:勇敢的打工人海励  
这篇文章主要为大家详细介绍了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包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3.10及以上版本编译安装ssl模块的详细过程

    python3.10及以上版本编译安装ssl模块的详细过程

    最近搞安装ssl模块每天都弄到很晚,所以这里给大家整理下,这篇文章主要给大家介绍了关于python3.10及以上版本编译安装ssl模块的详细过程,文中介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 简单的命令查看安装的python版本号

    简单的命令查看安装的python版本号

    在本篇内容里小编给大家整理的是关于简单的命令查看安装的python版本号的文章,需要的朋友们可以参考下。
    2020-08-08
  • 聊聊Python String型列表求最值的问题

    聊聊Python String型列表求最值的问题

    这篇文章主要介绍了Python String型列表求最值的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 利用python 更新ssh 远程代码 操作远程服务器的实现代码

    利用python 更新ssh 远程代码 操作远程服务器的实现代码

    这篇文章主要介绍了利用python 更新ssh 远程代码 操作远程服务器的实现代码,需要的朋友可以参考下
    2018-02-02
  • Python循环结构全面解析

    Python循环结构全面解析

    循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随小编一起看看吧
    2025-06-06
  • Python Word实现批量替换文本并生成副本

    Python Word实现批量替换文本并生成副本

    这篇文章主要为大家详细介绍了Python Word如何实现批量替换文本并生成副本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • Python数学形态学实例分析

    Python数学形态学实例分析

    这篇文章主要介绍了Python数学形态学,结合实例形式分析了Python数学运算与图形绘制相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • python bmp转换为jpg 并删除原图的方法

    python bmp转换为jpg 并删除原图的方法

    今天小编就为大家分享一篇python bmp转换为jpg 并删除原图的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python使用Pandas读取CSV文件数据的操作方法

    Python使用Pandas读取CSV文件数据的操作方法

    Pandas 是 Python 中一个强大的数据分析库,它提供了大量的工具用于数据操作和分析,其中,read_csv 函数是 Pandas 中最常用的函数之一,用于从 CSV 文件中读取数据,本文将详细介绍 read_csv 的基本用法,常见问题及其解决方案,并通过代码案例进行说明
    2024-12-12
  • pytorch使用Variable实现线性回归

    pytorch使用Variable实现线性回归

    这篇文章主要为大家详细介绍了pytorch使用Variable实现线性回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05

最新评论