Python代码中调用Java代码示例讲解

    技术2023-08-11  113

    Python代码中调用Java代码示例讲解

        关于python环境和Java环境的搭建不再赘述,直接讲解如何调用。     首先须安装python库——jpype1,直接pip install jpype1即可。

    Java代码如下:

    package com; public class Demo { public static void main(String[] args) { System.out.println("Hello"); } public void show() { System.out.println("Hello World!"); } }

    项目结构如下图所示(注意com包): 接下来最重要的一步就是如何成功导出jar包:

    第一步:

    第二步:

    第三步:

    第四步:

    第五步:

    到此,jar包导出完毕,验证导出是否正确,在cmd下,java -jar jar文件即可。

    python调用讲解

    import jpype # jvm路径 jvm_path = jpype.getDefaultJVMPath() print(jvm_path) # jar文件路径 java_path = r"H:\hellodemo\out\artifacts\hellodemo_jar\hellodemo.jar" if not jpype.isJVMStarted(): # 启动jvm jpype.startJVM(jvm_path, "-ea", "-Djava.class.path=%s" % java_path) TestClass = jpype.JClass("com.Demo") # 实例化对象 test = TestClass() # 调用对象的show()方法 test.show()

    输出:

    遇到的报错

        1. python报错 _jpype.cpython-35m-x86_64-linux-gnu.so: un xxxxx,这种一般是由于python库版本不匹配,将jpype1安装的版本低些,方可解决。

        2. python报错 Class XXX not found,这种一般都是导出的jar包有问题。

    Processed: 0.024, SQL: 9