python调用java

摘要:
二、安装说明:1、使用pip直接安装jpype库py-3-mpipinstalljpype12、使用手动下载及安装jpype库:①首先要确认python安装的是哪个版本及位数的,32位与64位的jpype库安装包不一致,也互不支持。

一、环境确认:
首先,要确认安装的jdk版本是1.8以上;其次,jdk安装位数与python安装的位数一致,及要么一起64位版本要么一起32版本。
(以上2点不满足均会报错,比如:not found jvm.dll)

二、安装说明:
1、使用pip直接安装jpype库
py -3 -m pip install jpype1

2、使用手动下载及安装jpype库:
① 首先要确认python安装的是哪个版本及位数的,32位与64位的jpype库安装包不一致,也互不支持。
查看版本:
windows+R》cmd》py -3

python调用java第1张

查看支持的包的属性:

import pip._internalp

print(pip._internal.pep425tags.get_supported())

python调用java第2张

② 进入下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到支持的安装包,下载至本地

python调用java第3张

③ dos命令窗口进入安装包本地所在的文件夹,执行安装命令: py -3 -m pip install 完整的安装包名,
比如:我电脑安装的python是3.7 的64位,那么下载的是JPype1‑0.7.0‑cp37‑cp37m‑win_amd64.whl ,
安装命令是:py -3 -m pip install JPype1‑0.7.0‑cp37‑cp37m‑win_amd64.whl

三、将java类方法打包成 *.jar 文件:
1、将java类方法写入“类名.java”的文件中保存(java中文件名必须与类型一致)
2、(windows+R》cmd)dos命令窗口进入到“类名.java”文件夹所在位置
3、编译java类方法,命令:javac 类名.java
4、打包成.jar文件,命令: jar cvf 类型名.jar 类名.class

四、python调用java程序:
1、注意python文件名不能命名成与库名jpype一致,否则会报jpype 没有 startJVM/shutdownJVM 属性

python调用java第4张

2、python代码:

import jpype
jvmPath = r"C:Program Files (x86)Javajre8inserverjvm.dll"    #java虚拟机的路径

ext_classpath = r"C:/Users/Administrator/Desktop/cc/Test.jar"    #所有调用的方法的绝对路径

#加载进方法,如果JVM没有启动,就启动JVM
if not jpype.isJVMStarted():        #这个判断非常重要,因为JVM在一个进程内就会自动关闭,后面在调用就会报错
jpype.startJVM(jvmPath,"-ea", "-Djava.class.path=%s" % ext_classpath)
#RcpClass = jpype.JClass("com.Test")
RcpClass = jpype.JClass("Test")        #继承类及方法,Test为类名
rcp = RcpClass()              #实例化
EncryptData= rcp.getSum(1,2)       #调用getSum方法
print(EncryptData)
if jpype.isJVMStarted():
jpype.shutdownJVM()            #关闭java虚拟机

免责声明:文章转载自《python调用java》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle创建JOB冒烟测试和回归测试的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python 处理10000个txt,每个文件夹里面放1000个。

1 fileNumberInDiretory = 1000 2 title_list =getChongFuTitle(cursor) 3 DiretoryNums = math.ceil(len(title_list)/fileNumberInDiretory) 4 5 diff_match_split = [title...

python setup.py 构建

摘要:这篇文章描述了自己动手把需要的代码封装成python模块的方法。完成后,我们可以直接使用pip install xxx下载自己的模块并使用内置的函数。 介绍python作为一门鼎鼎大名的语言,最有优势的地方就是它拥有无数第三方的模块可以直接拿来使用。以numpy(一个用于实现科学计算的模块)为例,常见的用法一般是这样,相信写过python的肯定是见得...

python合并表

1 import xlrd, xlwt 2 3 # 读取 4 rbook = xlrd.open_workbook('提取+病例合并.xlsx') # 打开文件 5 print("表1:") 6 sheet = rbook.sheet_by_index(0) # 打开对应的表 7 nrow = sheet.nrows...

Python中函数的知识点

1、函数的定义与调用 2、函数的参数 3、函数的返回值   1、 1.1、函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 1.2、定义一个函数: 规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档...

python 替换windows换行符为unix格式

windows 默认换行符为 ; unix默认换行符为 ; 所以当win下编辑的脚本在linux下显示末尾多了^M:  换行符修改为同一的unix格式脚本如下: 1 def run(path,file): 2 for file in files: 3 file = path+'\'+file 4 f = o...

Python实现mysql数据库增删改查

利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增、删、改、查的简易封装! 1. 环境配置 安装第三方包,导入模块mysql.connector pip install mysql-connector 2.使用说明 本文将提供add,delete,update,query以及connect五种方法,下边将详述使用参数: 方法名...