python如何调用java的jar包

Written by

in

文章目录
  • 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()
  • 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包内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python实现调用jar或执行java代码的方法详解 Python调用Java可执行jar包问题 Python代码一键转Jar包及Java调用Python新姿势 python调用java的jar包方法 Java实现的执行python脚本工具类示例【使用jython.jar】 Python调用JAR包的类和方法详细指南 Python调用Jar包的两种方式小结
  • 目录
    • 一、安装包
    • 二、使用步骤
    • 三、代码演示
    • 四、自己写一个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()
    

    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包内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python实现调用jar或执行java代码的方法详解
    • Python调用Java可执行jar包问题
    • Python代码一键转Jar包及Java调用Python新姿势
    • python调用java的jar包方法
    • Java实现的执行python脚本工具类示例【使用jython.jar】
    • Python调用JAR包的类和方法详细指南
    • Python调用Jar包的两种方式小结

    站内搜索