Python编程-执行Java代码的两种方式
Java环境配置
和执行js代码需要先在本地配好node一样,执行java代码,需要先在本地安装Java
安装步骤可以参考:https://blog.csdn.net/m0_61961937/article/details/122906540
安装好后需要配置系统环境,直接把 \JDK xx.x.x\bin
配进 path 就行
配好后,运行 java
或 javac
命令,显示如下就表示成功:
Jpype简介
这里我们使用 jpype 进行调用,pypi的介绍如下:
JPype is a Python module to provide full access to Java from within Python. It allows Python to make use of Java only libraries, exploring and visualization of Java structures, development and testing of Java libraries, scientific computing, and much more. By gaining the best of both worlds using Python for rapid prototyping and Java for strong typed production code, JPype provides a powerful environment for engineering and code development.
This is achieved not through re-implementing Python, as Jython has done, but rather through interfacing at the native level in both virtual machines. This shared memory based approach achieves decent computing performance, while providing the access to the entirety of CPython and Java libraries.
JPype是一个Python模块,在Python中提供对Java的完全访问。它允许Python只利用Java库,探索和可视化Java结构,开发和测试Java库,科学计算,以及更多。通过获得使用Python进行快速原型开发和使用Java进行强类型生产代码的两个世界的最佳效果,JPype为工程和代码开发提供了一个强大的环境。
这不是通过重新实现Python来实现的,就像Jython所做的那样,而是通过在两个虚拟机的原生水平上进行接口。这种基于共享内存的方法实现了体面的计算性能,同时提供了对CPython和Java库的全部访问。
安装方式:pip3 install JPype1
,注意包名是 JPype1
第一种 调用.class文件
首先编译.java
文件,打开cmd,使用 javac 命令
javac xxx.java 编译报错:
1
2
3
4 >helloWorld.java:1: 错误: 类 Hello 是公共的, 应在名为 Hello.java 的文件中声明
>public class Hello{
>^
>1 个错误解决:需要保持文件名和类名一致
java打印函数:
System.out.println(obj)
编写py脚本调用:
1 | import jpype |
第二种 调用jar包
需要先用 IDEA 将项目打包成jar,然后在项目下新建py文件如下:
1 | import jpype |
参考文档: