当前位置: 首页 > news >正文

python调用jar中java方法 静态类为例

java

package test;public class test {// run方法返回当前脚本路径public static String runV1(String s) {return "log: " + System.getProperty(s);}}

python

import jpype
from jpype import *
import osif __name__ == "__main__":print(os.environ['JAVA_HOME'])os.environ['JAVA_HOME'] = r'/Users/thomas990p/Library/Java/JavaVirtualMachines/azul-11.0.21/Contents/Home'print('----> ',jpype.getDefaultJVMPath())arg_d1 = "-Dk111=v111"# 无第三方jarjar_path = "/Users/thomas990p/IdeaProjects/FlinkLocalDemo/target/FlinkLocalDemo-1.0-SNAPSHOT.jar"startJVM(jpype.getDefaultJVMPath() , arg_d1 , "-ea" , "-Djava.class.path=" + jar_path)# 调用jar中静态方法 test.test#run 无参数test = JClass("test.test")# 注意 这里返回的是java string,必须使用str() 转换为python stringprint(str(test.runV1("k111")))shutdownJVM()

输出

/Users/thomas990p/Library/Java/JavaVirtualMachines/azul-1.8.0_362-1/Contents/Home
---->  /Users/thomas990p/Library/Java/JavaVirtualMachines/azul-11.0.21/Contents/Home/lib/jli/libjli.dylib
log: v111

---

java string不转换为 python string 会导致pyflink table api execute sql报错 :

2024-03-11T03:17:07.830053632Z stdout F   File "/opt/flink/opt/python/pyflink.zip/pyflink/table/table_environment.py", line 837, in execute_sql
2024-03-11T03:17:07.830200236Z stdout F   File "/opt/flink/opt/python/py4j-0.10.9.7-src.zip/py4j/java_gateway.py", line 1314, in __call__
2024-03-11T03:17:07.830235846Z stdout F   File "/opt/flink/opt/python/py4j-0.10.9.7-src.zip/py4j/java_gateway.py", line 1283, in _build_args
2024-03-11T03:17:07.830262554Z stdout F   File "/opt/flink/opt/python/py4j-0.10.9.7-src.zip/py4j/java_gateway.py", line 1283, in <listcomp>
2024-03-11T03:17:07.830329575Z stdout F   File "/opt/flink/opt/python/py4j-0.10.9.7-src.zip/py4j/protocol.py", line 298, in get_command_part
2024-03-11T03:17:07.830442972Z stdout F AttributeError: 'java.lang.String' object has no attribute '_get_object_id'
20

相关文章:

python调用jar中java方法 静态类为例

java package test;public class test {// run方法返回当前脚本路径public static String runV1(String s) {return "log: " System.getProperty(s);}}python import jpype from jpype import * import osif __name__ "__main__":print(os.environ[JAV…...

tcp服务器客户端通信(socket编程)

目录 1.编程流程 2.代码演示 2.1 服务器代码 2.2 客户端代码 3.注意 3.1 ping命令 3.2 netstat命令 3.3 为什么memset? 3.4 哪个会阻塞? 3.5 显示连接信息 1.概念 1.1 编程流程 1.2 connect与listen connect方法执行后&#xff0c;会进行三次握手&#xff0c;建立连…...

chatgpt 镜像站汇总

无需登录直接可用的&#xff1a; ChatGPT Web - GPT-3.5-16k免费使用&#xff0c;吐字块&#xff0c;每日20次数&#xff0c;不需要登陆思研AI - 免费时限制每小时6次提问https://chatgpt.nicelinks.site/ - 免费使用频次有限制抱歉&#xff0c;站点已暂停 - 免费由开发者提供A…...

java面试题:为什么 SQL 语句不要过多的 join?

1 考察点 面试官主要想了解面试者对于 SQL 优化的理解以及在实际工作中如何处理 SQL 语句的性能问题。要回答好这个问题&#xff0c;只需要了解 join 操作会带来哪些影响&#xff0c;而这些影响对程序产生什么样的影响就行了。这个问题就是面试官想考察我们是不是平日里善于积…...

JAVA实战开源项目:学生日常行为评分管理系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2.1 登录注册模块2.2.2 用户管理模块2.2.3 评分项目模块2.2.4 评分数据模块2.2.5 数据字典模块 2.3 可行性设计2.4 用例设计2.5 数据库设计2.5.1 整体 E-R 图2.5.2 用户2.5.3 评分项目2.5.4 评分数据2.5.…...

力扣-[700. 二叉搜索树中的搜索]

递归法 确定递归函数的参数和返回值 递归函数的参数传入的就是根节点和要搜索的数值&#xff0c;返回的就是以这个搜索数值所在的节点。 代码如下&#xff1a; public TreeNode searchBST(TreeNode root, int val) 确定终止条件 如果root为空&#xff0c;返回null&#xff0c…...

Hive-源码分析一条hql的执行过程

一、源码下载 下面是hive官方源码下载地址&#xff0c;我下载的是hive-3.1.3&#xff0c;那就一起来看下吧 https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-src.tar.gz 二、上下文 <Hive-源码带你看hive命令背后都做了什么>博客中已经讲到了hive命令执行…...

软考71-上午题-【面向对象技术2-UML】-UML中的图2

一、用例图 上午题&#xff0c;考的少&#xff1b;下午题&#xff0c;考的多。 1-1、用例图的定义 用例图展现了一组用例、参与者以及它们之间的关系。 用例图用于对系统的静态用例图进行建模。 可以用下列两种方式来使用用例图&#xff1a; 1、对系统的语境建模&#xff1b…...

使用hashmap优化时间复杂度,leetcode1577

1577. 数的平方等于两数乘积的方法数 已解答 中等 相关标签 相关企业 提示 给你两个整数数组 nums1 和 nums2 &#xff0c;请你返回根据以下规则形成的三元组的数目&#xff08;类型 1 和类型 2 &#xff09;&#xff1a; 类型 1&#xff1a;三元组 (i, j, k) &#xff…...

3、设计模式之工厂模式1

工厂模式是什么&#xff1f;     工厂模式是一种创建者模式&#xff0c;用于封装和管理对象的创建&#xff0c;屏蔽了大量的创建细节&#xff0c;根据抽象程度不同&#xff0c;主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…...

一个Promise全新API

1. 资讯速览 最近&#xff0c;Promise 新出了一个方法&#xff0c;已经进入 Stage 3 &#xff08;候选阶段&#xff09; &#xff0c;相信很快就能达到 Stage 4 &#xff08;完成阶段&#xff09;&#xff0c;并在项目中广泛使用。 这个方法就是 Promise.withResolvers。它是…...

【力扣hot100】刷题笔记Day25

前言 这几天搞工作处理数据真是类似我也&#xff0c;还被老板打电话push压力有点大的&#xff0c;还好搞的差不多了&#xff0c;明天再汇报&#xff0c;赶紧偷闲再刷几道题&#xff08;可恶&#xff0c;被打破连更记录了&#xff09;这几天刷的是动态规划&#xff0c;由于很成…...

webpack5零基础入门-4使用webpack处理less文件

1.安装less npm install less -D 2.创建less文件 .box{width: 100px;height: 100px;background: red; } 3.引入less文件并打包 执行npx webpack 报错无法识别less文件 4.安装less-loader并配置 npm install less-loader9 -D 这里指定一下版本不然会因为node版本过低报错 …...

Python机器学习预测+回归全家桶,新增TCN,BiTCN,TCN-GRU,BiTCN-BiGRU等组合模型预测...

截止到本期&#xff0c;一共发了4篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下&#xff1a; 1.机器学习预测全家桶-Python&#xff0c;一次性搞定多/单特征输入&#xff0c;多/单步预测&#xff01;最强模板&#xff01; 2.机器学习预测全家桶-Python&#xff…...

一文了解Cornerstone3D中窗宽窗位的3种设置场景及原理

&#x1f506; 引言 在使用Cornerstone3D渲染影像时&#xff0c;有一个常用功能“设置窗宽窗位&#xff08;windowWidth&windowLevel&#xff09;”&#xff0c;通过精确调整窗宽窗位&#xff0c;医生能够更清晰地区分各种组织&#xff0c;如区别软组织、骨骼、脑组织等。…...

部署 LVS(nginx)+keepalived高可用负载均衡集群

目录 一、集群的概述 1、什么是集群 2、普通集群与负载均衡集群 2.1 普通集群&#xff08;Regular Cluster&#xff09; 2.2 负载均衡集群&#xff08;Load Balancing Cluster&#xff09; 2.3 高可用集群&#xff08;High Availability Cluster&#xff09; 2.4 区别 …...

Qt/QML编程之路:fork、vfork、exec、clone的对比及使用(46)

前言: 系统调用system call是OS提供的服务提供接口。系统调用fork()、vfork()、exec()和clone()都用于创建和操作进程。Linux下Qt编程也会用到vfork进行多进程间通信。让我们看一下以下每个系统调用的概述和比较: fork()、vfork()和clone()的工作原理相似,但在处…...

Go语言框架路由Controller控制器设计思路gin路由根据控制器目录分层生成路由地址

Controller设计好处 框架设计用controller分请求路由层级&#xff0c;应用从app目录开始对应请求url路由地址&#xff0c;这样设计师方便开发时候通过请求地址层级快速定位接口方法对应的代码位置。 例如api接口请求路径为&#xff1a;​​http://localhost:8110/​​busines…...

突破编程_C++_设计模式(责任链模式)

1 责任链模式的概念 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许对象以链式的方式组织起来&#xff0c;以便对请求进行处理。这种模式为多个对象处理同一请求提供了一个灵活的机制&#xff0c;而无需在发送者和多…...

php开发100问?

什么是 PHP&#xff1f;PHP 是一种什么类型的语言&#xff1f;PHP 的优缺点是什么&#xff1f;如何在服务器上配置 PHP&#xff1f;PHP 中的变量是如何声明和使用的&#xff1f;如何在 PHP 中输出文本和变量&#xff1f;什么是 PHP 的数据类型&#xff1f;如何在 PHP 中实现条件…...

密码学知识点梳理

密码学知识点梳理 目录 第一章 概论 第二章 古典密码 第三章 分组密码 第四章 流密码 第五章 杂凑函数 第六章 公钥密码 第一章 概论 密码学发展历史&#xff1a; 经历了五个发展阶段。 &#xff08;1&#xff09;从远古到二战之前为第一阶段&#xff0c;以手工和简单器械…...

告别CAJ格式束缚:caj2pdf开源工具深度解析与实战指南

告别CAJ格式束缚&#xff1a;caj2pdf开源工具深度解析与实战指南 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换&#xff0c;成功与否&#xff0c;皆是玄学。 项目地址: https://gitcode.com/gh_…...

Granite-4.0-H-350M应用案例:自动生成新闻网站数据抓取脚本

Granite-4.0-H-350M应用案例&#xff1a;自动生成新闻网站数据抓取脚本 1. 新闻数据抓取的需求与挑战 在信息爆炸的时代&#xff0c;新闻数据抓取已成为许多企业和研究机构的刚需。无论是舆情监控、市场分析还是内容聚合&#xff0c;都需要从各类新闻网站高效获取结构化数据。…...

HunyuanVideo-Foley实战教程:FFmpeg后处理——AI音效降噪+标准化脚本

HunyuanVideo-Foley实战教程&#xff1a;FFmpeg后处理——AI音效降噪标准化脚本 1. 教程概述 本教程将带您使用HunyuanVideo-Foley镜像中的FFmpeg工具&#xff0c;对AI生成的音效进行专业级后处理。通过简单的命令行操作&#xff0c;您可以实现&#xff1a; 智能降噪处理&am…...

Golang怎么实现SSE服务端推送事件_Golang如何用Server-Sent Events实时推送数据【教程】

Go 的 http.ResponseWriter 能多次写入&#xff0c;但需禁用缓冲、手动刷新并防止中间件断连&#xff1b;SSE 需设正确 header、定时心跳、严格格式输出、绕过干扰中间件&#xff0c;并配置反向代理。Go 的 http.ResponseWriter 为什么不能直接写多次&#xff1f;因为 SSE 要求…...

Pixel Couplet Gen实操手册:像素春联生成结果导出PNG/SVG格式的前端实现方案

Pixel Couplet Gen实操手册&#xff1a;像素春联生成结果导出PNG/SVG格式的前端实现方案 1. 项目背景与核心价值 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的创新工具。通过ModelScope大模型的文本生成能力&#xff0c;结合精心设计的8-bit视觉元素&#x…...

HLS高层次综合开发应用

一、HLS高层次综合开发应用 1.怎么利用编译指令&#xff08;pragma&#xff09;来控制各种粗细粒度的流水和并行&#xff0c;怎么把数组进行分块等等。这样的设计结果就会远远好于使用通用CPU。然而还有一个问题是&#xff0c;最后性能优化的HLS C/C代码可能会很长&#xff0c;…...

FireRed-OCR Studio部署指南:HuggingFace Spaces免费部署与限流配置

FireRed-OCR Studio部署指南&#xff1a;HuggingFace Spaces免费部署与限流配置 1. 引言 你是不是经常遇到这样的麻烦事&#xff1f;拿到一份纸质表格或者PDF扫描件&#xff0c;想把里面的内容整理成电子文档&#xff0c;结果发现表格结构复杂&#xff0c;手动录入费时费力&a…...

小白必看:cv_resnet18_ocr-detection WebUI界面详解,功能一目了然

小白必看&#xff1a;cv_resnet18_ocr-detection WebUI界面详解&#xff0c;功能一目了然 1. 快速认识cv_resnet18_ocr-detection 如果你正在寻找一个简单好用的文字识别工具&#xff0c;cv_resnet18_ocr-detection绝对值得一试。这个由科哥开发的OCR文字检测模型&#xff0c…...

FastAPI子应用挂载:别再让root_path坑你一夜卤

Julia&#xff08;julialang.org&#xff09;由Stefan Karpinski、Jeff Bezanson等在2009年创建&#xff0c;目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是&#xff1a; 高性能&#xff1a;编译型语言&#xff08;JIT&#xf…...