Python调用Java可执行jar包问题

2022-12-08 76阅读 0评论

?=基于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

Python调用Java可执行jar包问题

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

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

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

Python调用Java可执行jar包问题

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

Python调用Java可执行jar包问题

5.生成的jar包

Python调用Java可执行jar包问题

Python如何调用jar

1.需要下载jpypeWindows+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步代码去掉。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云初冀北。

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,76人围观)

还没有评论,来说两句吧...