Python调用Java的 Jar包,简单好用的Jpype!

最近有一个需求是需要用Python来调用Java的 Jar包。上网搜索了一下发现比较好用和出名的就是jpype了。 于是我也采用了这个开源的Python的项目来实现了我的诉求。jpype总体还是非常简单好用的。

JPype是一个用于在Python中调用Java代码的库。它提供了一种简单而高效的方法,让我们可以在Python程序中使用Java类和方法,以便利用Java丰富的生态系统和功能。

JPype允许我们创建Java虚拟机(Java Virtual Machine,JVM)的实例,并在Python中加载Java类。它提供了一个功能强大的接口,可以方便地传递参数、调用Java方法、访问Java类的属性,并在Python中处理返回的Java对象。

使用JPype,我们可以利用Java的各种功能,如调用Java库、使用Java框架、操作Java对象等。此外,JPype还支持在Python中实现与Java的双向通信,即可以从Python调用Java,也可以从Java调用Python。

JPype的安装非常简单,最简单的就是直接使用pip命令进行安装。一旦安装完,就可以在Python脚本中导入JPype模块,并开始使用它来调用Java代码。

jpype的github地址如下:https://github.com/jpype-project/jpype 官方的文档网站如下:http://www.jpype.org/ 如果有更高级的功能使用,可以来参考一下官方文档,接下来我来介绍一下jpype的基础使用,理论上能满足我们的绝大多数场景需求。

import jpype
# 启动Java虚拟机
jpype.startJVM(
        jpype.getDefaultJVMPath(),
        '-Djava.class.path=/hu/dddd/XXX-1.2.jar')  #这里输入你要调用的JAVA JAR包的路径
# 加载Java类
YOURCLASS = jpype.JClass('com.XX.X.XX.YOURCLASS') #这里替换成你要调用的Java Jar包里的类的完整路径
#比如jpype.JClass('com.XX.X.XX.YOURCLASS')
# 创建Java对象
java_object =YOURCLASS ()

# 调用Java的类的方法
java_object.add('Hello')
java_object.add('World')

# 访问Java对象的属性
size = java_object.size()

# 打印结果
print('Size:', size)

# 在使用完成后要关闭Java虚拟机
jpype.shutdownJVM()

整体上使用就是这么简单,这里要注意的一点是,有的Jar包里的类,也许并不会给我们提供public的构造器,大多可能是通过单例模式来返回对象的。所以这种情况下在调用java_object =YOURCLASS ()的时候会报错,因为构造器是私有的无法直接new,那么这时候我们只需要换成java_object =YOURCLASS.getInstance()或者其他返回object的方法来获取java 实例就行,具体案例,具体分析。~

创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

我准备了一个导航网站,上面记录了一些常用的网站集合,也包含一些羊毛,应该可以帮到你,感兴趣可以访问:https://u1s1.one/ ,欢迎收藏使用

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇