Python 中调用 Java 的 JAR 包

在 Python 中调用 Java 的 JAR 包,您可以使用 subprocess 模块来执行 Java 命令,并指定要运行的 JAR 文件。以下是一个简单的示例代码:

python 复制代码
import subprocess

def run_jar(jar_path, args):
    command = ['java', '-jar', jar_path] + args
    process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = process.communicate()
    return stdout, stderr

# 示例调用
jar_path = 'path/to/your.jar'
args = ['arg1', 'arg2']
stdout, stderr = run_jar(jar_path, args)
print(stdout.decode('utf-8'))
print(stderr.decode('utf-8'))

在这个示例中,run_jar 函数接受 JAR 文件的路径和参数列表作为输入,并执行以下操作:

  1. 构建包含 Java 命令和 JAR 文件路径的命令列表。
  2. 使用 subprocess.Popen 执行命令,并捕获标准输出和标准错误。
  3. 返回标准输出和标准错误的内容。

您需要将 'path/to/your.jar' 替换为实际的 JAR 文件路径,并根据需要调整参数列表。然后,调用 run_jar 函数并打印标准输出和标准错误的内容。

请注意,在调用 JAR 文件时,确保您的计算机上已经安装了 Java 运行时环境(JRE)。

方法2:

c 复制代码
import subprocess

def jar_call(arg1,arg2,arg3):
    java_cmd = 'java'
    jar_path = ''
    try:
        output = subprocess.check_output(
            [java_cmd,'-jar',jar_path,arg1,arg2,arg3]
        )
        output = output.decode('GBK')
        print('调用成功')
    except:
        print('调用失败')
相关推荐
宸津-代码粉碎机4 分钟前
Spring AI企业级RAG进阶|文档智能分片调优、ES深度整合、接口限流熔断监控生产实战
java·开发语言·人工智能·后端·spring·elasticsearch·oracle
唐青枫6 分钟前
Java MyBatis-Flex 实战指南:从 BaseMapper 到 QueryWrapper 的轻量 ORM 用法
java·mybatis
两年半的个人练习生^_^8 分钟前
JVM进阶系列:彻底理解 Java 内存模型(JMM)
java·开发语言
一位代码1 小时前
微软开源项目MarkitDown:一款将pdf/word/ppt等各类文件转换为Markdown格式的python工具
python
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9658 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处8 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
Unbelievabletobe8 小时前
解决了股票api接口盘后数据更新慢的问题
大数据·开发语言·python
lpd_lt9 小时前
AI Coding的常用Prompt技巧
python·ai·ai编程
小江的记录本9 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试