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

如何运行非可运行.jar文件并保留控制台输出(无需Maven)

解决非可运行Jar文件运行后窗口立即关闭的问题

我来帮你搞定这个问题!你遇到的情况在日常开发中挺常见的,要么是Jar本身不是标准的可执行Jar,要么是程序执行太快/没有输出导致窗口直接闪退。下面给你几个不需要依赖Maven的实用解决方案:

1. 先打开命令行窗口再执行命令

这是最直接的办法,很多人习惯双击Jar文件运行,但这样程序执行完(哪怕是报错)窗口会立刻关闭,根本看不到输出。你可以这样做:

  • Windows:按下Win + R输入cmd打开命令提示符,用cd命令切换到Jar文件所在的目录(比如cd D:\my-jars),然后执行java -jar your-file.jar
  • macOS/Linux:打开终端,同样用cd切换到Jar目录,执行java -jar your-file.jar
    这样不管程序是正常输出还是报错,窗口都会保留,你能清楚看到所有信息。

2. 如果Jar不是可执行Jar,指定主类运行

有些Jar没有配置Main-Class(也就是所谓的“非可运行Jar”),这时候java -jar命令会报错。你需要先找到Jar里的主类(包含main方法的类),然后用类路径命令运行:

  • 先列出Jar里的所有文件,找到主类:执行jar tf your-file.jar,会输出Jar里的所有类路径,找名字里带Main或者你知道的程序入口类(比如com.example.MyApplication)
  • 然后用类路径命令运行:java -cp your-file.jar com.example.MyApplication
    如果不确定主类,还可以提取Jar里的MANIFEST.MF文件看看:执行jar xf your-file.jar META-INF/MANIFEST.MF,然后打开这个文件,检查有没有Main-Class条目,如果没有,就需要自己从类列表里找入口类。

3. 用脚本让窗口执行完后暂停

如果你还是习惯双击运行,可以写个简单的脚本,让程序执行完后保持窗口打开:

Windows 批处理(.bat)

新建一个文本文件,写入以下内容,把your-file.jar换成你的Jar文件名,然后保存成run.bat:

@echo off
java -jar your-file.jar
pause

双击这个bat文件,程序执行完后会显示“请按任意键继续...”,窗口不会关闭。

macOS/Linux Shell脚本

新建一个文本文件,写入以下内容,保存成run.sh:

#!/bin/bash
java -jar your-file.jar
read -p "Press enter to exit..."

然后在终端执行chmod +x run.sh赋予执行权限,之后双击或者在终端运行这个脚本即可。

4. (可选)修改程序添加暂停逻辑

如果你有权限修改Jar的源代码,可以在主类的main方法最后添加一行暂停代码,让程序执行完后等待用户输入再退出:

// 在main方法末尾添加
try {
    System.in.read();
} catch (IOException e) {
    e.printStackTrace();
}

或者用Scanner:

import java.util.Scanner;

// 在main方法末尾添加
Scanner scanner = new Scanner(System.in);
System.out.println("Press enter to exit...");
scanner.nextLine();

重新打包Jar后,运行时就会等待你按回车才关闭窗口。

先试试第一种方法,打开命令行执行命令,看看有没有错误输出,这能帮你快速定位问题到底是Jar不可执行,还是程序本身的问题~

内容的提问来源于stack exchange,提问作者James Conway

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:40:39