python调用java中的jar

一、基于IDEA生成可执行jar包

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

package Project;public class Demo {public static void main(String[] args){Demo t2 = new Demo();System.out.println(t2.calc( 1, 2));}public int calc(int a ,int b) {return a + b;}
}

2、点击file->project structure ->Artifacts->+ 

设置jar包名为demo.jar 

3、点击选择想要生成jar包的类,这里我选择Demo.java。注意Directory for meta-inf/manifest.mf的位置不要选择默认的,最好选择项目根目录。我选择默认的会找不到生成的jar包的位置

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

5:查看jar包生成的位置:

二、Python如何调用jar

需要下载jpype,windows+R输入cmd进入命令提示符,将路径转到jpype所在目录,

执行pip install jpype1。具体操作方法请自行搜索,能找到详细步骤。

python 代码:

import jpype
#定义jar路径
jarpath ="D:/javainterface/JAVA\/test.jar"
# 2.获取jvm.dll 的文件路径
jvmpath = jpype.getDefaultJVMPath()
# 3.开启jvm
jpype.startJVM(jvmpath,"-ea","-Djava.class.path=%s" %jarpath)
# 4.加载java类
JDclass =jpype.JClass("Project.Demo")
# 5.实例化java对象
jd = JDclass()
# 6.调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法
print(jd.calc(11,5))
# 7.关闭jvm
jpype.shutdownJVM()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redux Toolkit+TypeScript最佳实践

Redux-Toolkit是为了简化使用Redux繁琐的步骤,可以j降低使用useReducer与useContext管理状态的频率,而且起到项目中状态管理规范和约束化的效果。 阅读本文需要的前置知识:React、Redux、Typescript、Redux hooks。 Redux-Toolkit使用步骤 …

Rust egui(4) 增加自己的tab页面

如下图,增加一个Sins也面,里面添加一个配置组为Sin Paraemters,里面包含一个nums的参数,范围是1-1024,根据nums的数量,在Panel中画sin函数的line。 demo见:https://crazyskady.github.io/index.…

机器学习模型:决策树笔记

第一章:决策树原理 1-决策树算法概述_哔哩哔哩_bilibili 根节点的选择应该用哪个特征?接下来选什么?如何切分? 决策树判断顺序比较重要。可以使用信息增益、信息增益率、 在划分数据集前后信息发生的变化称为信息增益&#xff0c…

6:算法基础--6.3:排序算法,6.4:算法策略

转上一节: http://t.csdnimg.cn/fr4I4http://t.csdnimg.cn/fr4I4 6.3:排序算法 考点1:排序算法的基本概念 1.排序的概念 稳定与不稳定排序 2.排序方法分类 插入类排序直接插入排序希尔排序交换类排序冒泡排序快速排序选择类排序简单选…

梦想编码:0基础解锁IT世界的无限可能

0基础如何进入IT行业? IT行业,这是一个充满激情、创新与无限可能的世界。随着技术的日新月异和数字化浪潮的汹涌推进,对于IT专业人才的渴求也日益增长。在这个全球数字化的舞台上,无论你对代码、数据、网络还是云端有着怎样的梦想…

如何利用待办事项清单提高工作效率?

你是否经常因为繁重的工作量而感到不堪重负?你是否在努力赶工期或经常忘记重要的电子邮件?你并不是特例。如何利用待办事项清单提高工作效率?这里有一个简单的方法可以帮你理清混乱并更高效地完成任务—待办事项清单。 这种类型的清单可以帮…

有人用GPT来做日内交易,居然赚钱了!但是……

在我们还在烦恼会不会被AI替代时,已经有人在教ChatGPT去炒股票了。 在近年ChatGPT火速出圈后,围绕AI能取代什么职业的讨论持续受到大众关注。 从事客服、编程、法律合规以及内容创作等行业人员最早感受到这股AI带来的寒意。 那ChatGPT能不能替代交易员…

【原创】springboot+vue校园疫情防控管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

Spring Boot Mockito (三)

Spring Boot Mockito (三) 这篇文章主要是讲解Spring boot 与 Mockito 集成测试。 前期项目配置及依赖可以查看 Spring Boot Mockito (二) - DataJpaTest Spring Boot Mockito (一) - WebMvcTest Tag("Integration") SpringBootTest // TestMethodOrder(MethodOr…

【YOLOV5 入门】——构建自己的数据集模型训练模型检验

一、准备工作 1、数据收集 图片类型数据不用多说;视频类型数据利用opencv进行抽帧保存为一张张图片,这里选取30s的名侦探柯南片段进行试验,确保环境解释器下安装了opencv(我使用的是另一个虚拟环境): im…

LeetCode每日一题之专题一:双指针 ——快乐数

快乐数OJ链接:202. 快乐数 - 力扣(LeetCode) 题目: 题目分析: 为了房便叙述,将「对于⼀个正整数,每⼀次将该数替换为它每个位置上的数字的平方和」这⼀个 操作记为 x 操作; 题目告诉我们&#…

win10+Intel显卡安装配置stable-diffusion-webui绘画网页

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

基于springboot实现墙绘产品展示交易平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现墙绘产品展示交易平台管理系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本墙绘产品展示交易平台就是在这样的大环境下诞生&…

企业微信企业主体变更认证介绍

企业微信变更主体有什么作用? 说一个自己亲身经历的事情,当时我在一家教育公司做运营,公司所有客户都是通过企业微信对接的。后来行业整顿,公司不得不注销,换了营业执照打算做技能培训,但发现注销后原来的企…

Gitee上传私有仓库

个人记录 Gitee创建账号 以KS进销存系统为例,下载到本地电脑解压。 新建私有仓库 仓库名称:ks-vue3,选择‘私有’ 本地配置 下载安装git配置git 第一次配置可以在本地目录右键【Open Git Bash here】输入【Git 全局设置】再输入【创…

点亮创意:ChatGPT如何搭桥DALL-E图像编辑新纪元

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

RabbitMQ系统监控、问题排查和性能优化实践

一、系统监控:RabbitMQ的各项性能指标及监控 Message Rates:消息率包含了publish,deliver/get,ack等方面的数据,反映了消息在系统中流转的情况。Queue Length:队列长度反映了系统当前的负载情况。如果队列…

【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限

系列文章目录 【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 【跟小嘉学 Linux 系统架构与开发】三、如何查看帮助文档 【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权…

第十一届蓝桥杯物联网试题(省赛)

对于通信方面,还是终端A、B都保持接收状态,当要发送的数组不为空再发送数据,发送完后立即清除,接收数据的数组不为空则处理,处理完后立即清除,分工明确 继电器不亮一般可能是电压不够 将数据加空格再加\r…

前端和后端在软件开发中的两个重要部分

前端和后端是软件开发中的两个重要部分,它们在职责、技术栈和工作重点上都有所不同。以下是前端和后端的主要区别: 职责不同: 前端:前端主要负责用户可以看到的部分,即用户界面(UI)和用户体验&a…