Python调用java代码

news/2025/3/21 0:36:59/


1.安装 jpype

先下载jpype 的JPype1-1.4.1-cp37-cp37m-win_amd64.whl文件 https://pypi.org/project/JPype1/#files
然后使用 pip install JPype1-1.4.1-cp37-cp37m-win_amd64.whl

2. 最简单的使用方式

import jpype
jvmPath = jpype.getDefaultJVMPath()
jpype.startJVM(jvmPath)
jpype.java.lang.System.out.println("helloworld!")
jpype.shutdownJVM()

3.直接使用java内置函数

from jpype import *
 
#startJVM:开启java虚拟机
#getDefaultJVMPath:自动获取虚拟机路径
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("Hello World")
shutdownJVM()#关闭虚拟机
开启java虚拟机:startJVM(虚拟机路径,模式)       
自动获取虚拟机路径:getDefaultJVMPath
调用java内置函数

4.调用jar文件

1)创建java文件并打包

在eclipse下创建包和Java文件      
写入java代码(不能有main函数):

package one;
public class to_jar {
    public static Integer get_length(String str){
        System.out.println(str.length());
        return str.length();
    }
}
打开cmd进入到该包同级目录下

先生成class文件:       javac -encoding utf-8 to_jar.java
打包jar文件:         jar cvf to_jar.jar one 【c:创建文件 v:详情信息 f:指定包】

2)python代码

import jpype
jarpath='D:\\untitled\\src\\to_jar.jar'    #jar绝对路径
print(jarpath)
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" %jarpath)
#start(JVM路径,模式,jar文件路径)
obj=jpype.JClass('one.to_jar')#获取类     注意 one是报名,to_jar是类名,
test=obj()#实例化
tk=test.get_length('恭喜您,调用java成功')  get_length是方法名
jpype.shutdownJVM()


http://www.ppmy.cn/news/3054.html

相关文章

MySQL数据表的基础知识

目录 一、增 二、查 a、全列查询 b、指定列查询 c、查询字段为表达式 d、别名查询 e、对查询结果进行去重 f、排序 ​g、条件查询 三、改 四、删 以下操作均以student表为基础: 一、增 insert into 表名 values(...); 例如:新增张三同学的…

计算机研究生就业方向之去银行券商信息技术部门

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么,如果你只是转码,那么你不一定要考研,至少以下几个职位研究生是没有啥优势的: 1,软件测试工程师(培训一下就行) 2,前…

窗口销毁消息 WM_DESTROY 的正确处理方式

上次,我提到了可能导致正常的消息循环被破坏的怪异之处。 有一位读者 Adrian 指出,WM_GETMINMAXINFO 消息在顶级窗口 WM_NCCREATE 之前到达。这确实很不幸,但(无论是否错误)十多年来一直如此,现在修改它会…

第2章 线性表

上篇:数据结构 2.0 介绍2.1 顺序表2.1.1 静态分配2.1.2 动态分配2.1.3 顺序表的基本操作2.2 单链表2.2.1 单链表的存储方式2.2.2 单链表的基本操作2.3 双向链表2.3.1 双向链表的存储方式2.3.2 双向链表的基本操作2.4 循环链表2.5 线性表的应用2.5.1 合并有序顺序表2.5.2 合并有…

史上最全网络安全面试题合集

php爆绝对路径方法? 单引号引起数据库报错访问错误参数或错误路径探针类文件如phpinfo扫描开发未删除的测试文件google hackingphpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php利用漏洞读取配置文件找路径恶意使用网站功能,如本地…

Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)

前言 今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得。 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取的人会很多…

Nginx配置虚拟域名

1.nginx.conf配置 server {listen 80;server_name www.gwzhjc.com;#charset koi8-r;#access_log logs/host.access.log main;location / {root html/web3;index index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-…

数学基础从高一开始6、全称量词与存在量词

数学基础从高一开始6、全称量词与存在量词 目录 数学基础从高一开始6、全称量词与存在量词 全称量词 存在量词 1.判断命题的真假 2.判断命题的真假 阅读下列两组命题,语言上有什么特点? A组: (1)对任意一个x∈Z,2x1是整数; (2)每一个素…