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('调用失败')
相关推荐
爱码猿12 小时前
SpringBoot+MybatisPlus动态数据源
java·spring boot·后端
小义_12 小时前
JDK 深度解析
java·linux·开发语言·python·面试
SendTomo12 小时前
send.wang:基于浏览器WebRTC实现无客户端文件互传
网络·python·网络协议·webrtc·p2p
奈斯先生Vector12 小时前
从“能调用”到“可运营”:AI Agent 进入多模型时代后的架构升级
java·javascript·数据库·人工智能·算法·架构·aigc
whcyhhh12 小时前
头歌实践教学平台:大数据存储2023(十四下答案)
大数据·数据库·python
Json____12 小时前
宿舍安全卫生检查系统:Node 全栈开发实战
java·前端·数据库·毕业设计·课程设计·毕设·wwwoop.com
pnoker12 小时前
36 个驱动模块:应对协议碎片化
java·物联网·modbus·工业互联网·opc ua
码上有光12 小时前
Linux:进程控制和进程替换
java·linux·服务器·进程控制·进程替换
Capricorn198812 小时前
Ox Alpha 1M 上下文科研引用失真怎么排查?知芽 Notebook Skill 技术链路实操
人工智能·笔记·python·深度学习·知识图谱·论文笔记
默辨12 小时前
我用Java后端的视角读了一遍JoyAgent-JDGenie
java·开发语言