You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让.jar文件双击运行时打开终端并输出System.out内容?

解决双击JAR文件无法查看System.out输出的问题

方法1:用脚本包装运行

Windows系统(批处理脚本)

创建一个后缀为.bat的文本文件,写入以下内容:

@echo off
start cmd /k "java -jar your-program.jar"

将your-program.jar替换为你的实际JAR文件名,双击这个批处理文件,就会自动打开CMD窗口并运行JAR,所有System.out输出都会显示在窗口中。

Linux/macOS系统(Shell脚本)

创建一个后缀为.sh的文本文件,写入以下内容:

#!/bin/bash
xterm -e "java -jar your-program.jar"

保存后执行chmod +x run.sh给脚本添加执行权限,双击运行脚本即可打开终端窗口显示输出。如果系统没有xterm,可替换为gnome-terminal或konsole等系统自带终端程序。

方法2:修改Windows系统的JAR关联(永久生效)

  1. 右键点击JAR文件,选择「打开方式」→「选择其他应用」→「更多应用」,找到并选中cmd.exe,勾选「始终使用此应用打开.jar文件」。
  2. 按Win+R输入regedit打开注册表编辑器,定位到HKEY_CLASSES_ROOT\jarfile\shell\open\command。
  3. 将默认值修改为:"C:\Windows\System32\cmd.exe" /k "java -jar "%1""
    之后双击任何JAR文件,都会自动打开CMD窗口并显示输出内容。

方法3:程序内添加输出窗口(无需依赖终端)

如果不想依赖外部脚本或系统设置,可以在Java程序中添加一个Swing窗口,主动捕获并显示System.out的输出:

import javax.swing.*;
import java.io.*;

public class AppMain {
    public static void setupOutputWindow() {
        JFrame outputFrame = new JFrame("程序运行日志");
        JTextArea logArea = new JTextArea();
        outputFrame.add(new JScrollPane(logArea));
        outputFrame.setSize(600, 400);
        outputFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        outputFrame.setVisible(true);

        // 重定向System.out和System.err到文本框
        PrintStream customStream = new PrintStream(new OutputStream() {
            @Override
            public void write(int b) throws IOException {
                logArea.append(String.valueOf((char) b));
                logArea.setCaretPosition(logArea.getDocument().getLength());
            }
        });
        System.setOut(customStream);
        System.setErr(customStream);
    }

    public static void main(String[] args) {
        setupOutputWindow();
        // 你的原有业务逻辑
        for (int i = 0; i < 100; i++) {
            System.out.println("当前进度:" + i + "%");
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

打包成JAR后双击运行,会自动弹出一个窗口展示所有输出内容,无需终端支持。

内容的提问来源于stack exchange,提问作者Ryan Huynh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:20:30