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()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

挑战传统编程范式:Java函数式编程的魅力

1.概述 1.1概念 函数式编程是一种编程范式,即一切都是数学函数。在Java面向对象编程中,程序是一系列相互作用(方法)的对象,而在函数式编程中,程序会是一个无状态的函数组合序列。 1.2 优点 大数量下处理…

【IoTDB 线上小课 01】我们聊聊“金三银四”下的开源

关于 IoTDB,关于物联网,关于时序数据库,关于开源...你是否仍有很多疑问? 除了自己钻研文档,群里与各位“大佬”的沟通,你是否还希望能够有个学习“捷径”? 天谋科技发起社区小伙伴,正…

Hadoop-Yarn

一、Yarn资源调度器 思考: 1)如何管理集群资源? 2)如何给任务合理分配资源? Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台。 而 MapReduce …

EfficientVMamba实战:使用 EfficientVMamba实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

paddlepaddle模型转换onnx指导文档

一、检查本机cuda版本 1、右键找到invdia控制面板 2、找到系统信息 3、点开“组件”选项卡, 可以看到cuda版本,我们这里是cuda11.7 cuda驱动版本为516.94 二、安装paddlepaddle环境 1、获取pip安装命令 ,我们到paddlepaddle官网&#xff…

【数据分析面试】6.计算对话总数(SQL)

题目:计算对话总数 给定了名为 messenger_sends 的消息发送表格,找出总共有多少个唯一的对话。 注:在某些记录中,receiver_id 和 sender_id 从初始消息中互换了。这些记录应视为同一个对话。 示例: 输入&#xff1…

flink源码编译-job提交

1、启动standalone集群的taskmanager standalone集群中的taskmanager启动类为 TaskManagerRunner 2 打开master启动类 通过 ctrln快捷键,找到、并打开类: org.apache.flink.runtime.taskexecutor.TaskManagerRunner 3 修改运⾏配置 基本完全按照mas…

『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录 注册 实名得到API链接和账密 Python3requests调用Scpay总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 注册 实名 注册巨量http 用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的 得到AP…

四、MySQL读写分离之MyCAT

一、读写分离概述 1、什么是读写分离: 读写分离:就是将读写操作分发到不同的服务器,读操作分发到对应的服务器 (slave),写操作分发到对应的服务器(master) ① M-S (主从) 架构下&…

前端路径问题总结

1.相对路径 不以/开头 以当前资源的所在路径为出发点去找目标资源 语法: ./表示当前资源的路径 ../表示当前资源的上一层路径 缺点:不同位置,相对路径写法不同2.绝对路径 以固定的路径作为出发点作为目标资源,和当前资源所在路径没关系 语法:以/开头,不同的项目中,固定的路径…

【JavaScript】函数 ⑦ ( 函数定义方法 | 命名函数 | 函数表达式 )

文章目录 一、函数定义方法1、命名函数2、函数表达式3、函数表达式示例 一、函数定义方法 1、命名函数 定义函数的标准方式 就是 命名函数 , 也就是之前讲过的 声明函数 ; 函数 声明后 , 才能被调用 ; 声明函数的语法如下 : function functionName(parameters) { // 函数体 …

八数码问题——A*算法的应用(A-Star)

文章目录 1 问题描述2 启发式搜索3 A*算法3.1 参考网址3.2 是什么3.3 为什么A*算法适用于八数码问题3.4 A* 算法的基本框架 4 A* 算法如何解决八数码问题4.1 八数码状态的存储4.2 启发式函数4.3 构造目标状态元素位置的字典4.4 在二维列表中查找目标元素4.5 A* 算法主体4.6 路径…

第15届蓝桥STEMA测评真题剖析-2024年3月10日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第180讲。 第15届蓝桥第5次STEMA测评,这是2024年3月10日举办的STEMA,比赛仍然采取线上形式。这…

汽车EDI:如何与奔驰建立EDI连接?

梅赛德斯-奔驰是世界闻名的豪华汽车品牌,无论是技术实力还是历史底蕴都在全球汽车主机厂中居于领先位置。奔驰拥有多种车型,多元化的产品布局不仅满足了不同用户画像的需求,也对其供应链体系有着极大的考验。 本文将为大家介绍梅赛德斯-奔驰乘…

Hadoop-HDFS

资料来源:尚硅谷-Hadoop 一、HDFS 概述 1.1 HDFS 产出背景及定义 1.1.1 HDFS 产生背景 随着数据量越来越大,在一个服务器上存不下所有的数据,那么就分配到更多的服务器管理的磁盘中,但是不方便管理和维护,迫切需要…

k8s存储卷 PV与PVC 理论学习

介绍 存储的管理是一个与计算实例的管理完全不同的问题。PersistentVolume 子系统为用户和管理员提供了一组 API,将存储如何制备的细节从其如何被使用中抽象出来。为了实现这点,我们引入了两个新的 API 资源:PersistentVolume 和 Persistent…

域名如何端口映射?

域名端口映射是一种重要的网络技术,它可以实现不同设备之间的远程通信。在全球互联网的背景下,人们之间的通信变得非常便捷,但随之而来的问题是如何有效地实现设备之间的互联互通。域名端口映射正是为了解决这个问题而出现的。 天联组网 天联…

【蓝桥杯选拔赛真题55】C++最长路线 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解

目录 C最长路线 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C最长路线 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 有一个N*M的矩阵,且矩阵…

vulnhub----natraj靶机

文章目录 一.信息收集1.网段探测2.端口扫描3.版本服务探测4.漏扫5.目录扫描 二.漏洞利用1.分析信息2..fuzz工具 三.getshell四.提权六.nmap提权 一.信息收集 1.网段探测 因为使用的是VMware,靶机的IP地址是192.168.9.84 ┌──(root㉿kali)-[~/kali/vulnhub] └─…

案例:非功能性需求的设计

在咨询中看到很多项目组对于非功能性需求没有做设计,很多项目组在设计文档中仅仅是把非功能性需求的描述拷贝到设计文档的非功能性章节。因此特地设计了两个简单的需求给大家参考,希望能够引导设计人员重视非功能性需求的设计。