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

如何让Java程序从Jar文件启动?解决JNI错误与终端启动问题

问题解决:JNI错误修复 + 终端类Jar自动打开终端

一、修复JNI错误

出现"JNI error has occurred please check your installation"的常见原因及解决方法:

  • JDK/JRE版本不匹配:确保编译程序的JDK版本和运行时的JRE版本一致。编译时可指定目标兼容版本,比如要适配Java 8,编译命令如下:
    javac -target 1.8 -source 1.8 YourMainClass.java
    
  • Main-Class配置错误:检查Jar包内的MANIFEST.MF文件,确认Main-Class字段指向正确的主类(带完整包名,比如com.example.MyMain),且字段末尾必须保留换行。打包Jar时可通过命令直接指定:
    jar cvfm YourJar.jar MANIFEST.MF *.class
    
  • 依赖缺失:如果程序依赖第三方Jar包,打包时需将依赖一同包含。用Maven可借助maven-shade-plugin插件打包成包含依赖的可执行Jar;手动打包则需在MANIFEST.MF中添加Class-Path字段,指定依赖Jar的相对路径。

二、让终端类Jar双击自动打开终端

根据不同操作系统,设置方法如下:

Windows系统

  • 批处理文件法:创建后缀为.bat的文件,内容如下(替换YourJarFile.jar为你的Jar文件名):
    @echo off
    java -jar YourJarFile.jar
    pause
    
    将该批处理文件与Jar放在同一目录,双击批处理文件即可打开终端运行程序,pause用于运行结束后保留终端窗口,方便查看输出。
  • 关联打开方式:右键Jar文件→选择"打开方式"→找到cmd.exe,点击"更多选项"→选择"打开";之后在"打开方式"设置中,为cmd.exe添加参数:/k java -jar "%1",设置完成后双击Jar即可自动用终端打开。

macOS系统

  • Shell脚本法:创建后缀为.sh的文件,内容如下:
    #!/bin/bash
    cd "$(dirname "$0")"
    java -jar YourJarFile.jar
    read -p "Press Enter to exit..."
    
    打开终端,进入脚本所在目录,执行chmod +x YourScript.sh给脚本添加执行权限,双击脚本时选择"在终端中打开"即可。
  • Automator应用法:打开Automator,选择"应用"类型,添加"运行Shell脚本"动作,输入上述脚本内容,保存为应用程序,双击该应用即可自动打开终端运行Jar。

Linux系统

  • Shell脚本法:创建后缀为.sh的文件,内容如下:
    #!/bin/bash
    cd "$(dirname "$0")"
    java -jar YourJarFile.jar
    read -n 1 -s -r -p "Press any key to exit..."
    
    执行chmod +x YourScript.sh添加执行权限,右键脚本→"属性"→"权限"勾选"允许作为程序执行文件",之后双击脚本时选择"在终端中运行"即可。

内容的提问来源于stack exchange,提问作者Bread Bouquet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:54:58