Python调用Java可执行jar包问题

 更新时间:2022年12月08日 11:15:02   作者:wzcd  
这篇文章主要介绍了Python调用Java可执行jar包问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

基于IDEA生成可执行jar包

1.编写class的代码,注意一定要有main()方法才可以生成jar包,main()方法可以没有内容。

例如:

public class testFunction {
    public static void main(String[] args) {

    }
    public static void send() {
        System.out.println("i use message");
    }
}

2.点击file->project structure

3.点击选择想要生成jar包的类,这里我选择testFunction.class。

注意Directory for meta-inf/manifest.mf的位置不要选择默认的,最好选择项目根目录。

我选择默认的会找不到生成的jar包的位置。

4.点击Build->Build Artifacts后选择对应的Artifact,并点击Build即生成成功。

5.生成的jar包

Python如何调用jar

1.需要下载jpype,windows+R输入cmd进入命令提示符,将路径转到jpype所在目录,执行pip install jpype文件名。

2.具体操作方法请自行搜索,能找到详细步骤。

代码如下

def sendMessage():
	#  1.加载jar包
	jarpath = os.path.join(os.path.abspath("."),"(填写你的jar包的filepath)\\wit_test.jar")
	#  2.获取jvm.dll 的文件路径
	jvmPath = jpype.getDefaultJVMPath()
	#  3.开启jvm
	jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % (jarpath))
	#  4.加载java类(参数是java的长类名)
	javaClass = jpype.JClass("testFunction")
	#  5.实例化java对象
	javaInstance = javaClass()
	#  6.调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法
	javaInstance.send()
	#  7.关闭jvm
	jpype.shutdownJVM()
	pass

如果只需调用一次jar包,上述代码可行。

如果需要多次调用会出现重新启动失败的问题,那么解决办法是把代码放在main()函数中,前5步代码初始化完毕后,每次只循环使用第6步代码。

第7步代码去掉。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python标准库re的使用举例(正则化匹配)

    Python标准库re的使用举例(正则化匹配)

    正则表达式re是内置函数,通过一定的匹配规则获取指定的数据,下面这篇文章主要给大家介绍了关于Python标准库re的使用举例,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • django如何设置csrf_token

    django如何设置csrf_token

    这篇文章主要介绍了django如何设置csrf_token问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python自动化测试PO模型封装过程详解

    Python自动化测试PO模型封装过程详解

    在 PO 模式中抽离封装集成一个BasePage 类,该基类应该拥有一个只实现 webdriver 实例的属性,通常情况下PO 模型可以大大提高测试用例的维护效率
    2021-06-06
  • 关于PyTorch源码解读之torchvision.models

    关于PyTorch源码解读之torchvision.models

    今天小编就为大家分享一篇关于PyTorch源码解读之torchvision.models,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python3 获取一大段文本之间两个关键字之间的内容方法

    Python3 获取一大段文本之间两个关键字之间的内容方法

    今天小编就为大家分享一篇Python3 获取一大段文本之间两个关键字之间的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python+selenium+chromedriver实现爬虫示例代码

    python+selenium+chromedriver实现爬虫示例代码

    这篇文章主要介绍了python+selenium+chromedriver实现爬虫示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 如何使用Python OpenCV提取物体轮廓详解

    如何使用Python OpenCV提取物体轮廓详解

    图像的轮廓检测不论是机器视觉还是其他方面都有较大作用,下面这篇文章主要给大家介绍了关于如何使用Python OpenCV提取物体轮廓的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 使用python Django做网页

    使用python Django做网页

    python Django网页的四个步骤,很简单的图文学习。学习python Django做网页的第一步。
    2013-11-11
  • python实现微信自动回复机器人功能

    python实现微信自动回复机器人功能

    wxpy基于itchat,使用了 Web 微信的通讯协议,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。这篇文章主要介绍了python实现微信自动回复机器人功能,需要的朋友可以参考下
    2019-07-07
  • 用python实现一个文件搜索工具

    用python实现一个文件搜索工具

    大家好,本篇文章主要讲的是用python实现一个搜索工具,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论