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

如何在未安装JDK、仅装JRE 1.8的电脑上运行Jar文件?

解决JRE 1.8环境下运行高版本编译Jar的问题

错误原因

你遇到的UnsupportedClassVersionError是核心矛盾:你的Jar是用JDK18编译的(对应class文件版本62.0),而目标电脑的JRE1.8仅能识别最高52.0版本的class文件,自然无法正常加载运行。

不用安装JDK的解决方法

方法1:重新编译Jar,适配JRE1.8

在你自己的JDK18环境下编译时,指定编译目标为JRE1.8,生成的Jar就能兼容低版本环境:

  • 原生javac命令编译:
    javac -source 1.8 -target 1.8 -bootclasspath "path\to\jre1.8\lib\rt.jar" MainWindow.java
    
    (-bootclasspath参数可选,但能确保编译出的类完全适配JRE1.8,避免调用高版本API)
  • Maven项目修改pom.xml编译配置:
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <bootclasspath>${java.home}/lib/rt.jar</bootclasspath>
          </configuration>
        </plugin>
      </plugins>
    </build>
    
  • Gradle项目修改build.gradle:
    java {
      sourceCompatibility = JavaVersion.VERSION_1_8
      targetCompatibility = JavaVersion.VERSION_1_8
    }
    
    重新打包Jar后,就能在目标电脑的JRE1.8上正常运行。

方法2:给目标电脑安装对应版本的JRE(无需JDK)

JRE是运行Java程序的最小环境,无需安装完整JDK:

  1. 下载JDK18对应的JRE包(或OpenJDK18的JRE版本)
  2. 安装或解压到目标电脑的任意路径,比如C:\jre18
  3. 用该JRE的java命令运行Jar:
    C:\jre18\bin\java -jar <filename.jar>
    
    也可以把这个JRE的bin目录加到系统环境变量PATH的最前端,之后双击Jar就能直接调用该JRE运行。

方法3:打包自定义运行时镜像(用户无需单独装JRE)

用JDK18的jlink工具,把应用和所需JRE模块打包成独立运行镜像,用户解压后直接启动:

  1. 先用jdeps分析应用依赖的模块:
    jdeps --print-module-deps <filename.jar>
    
  2. 用jlink创建运行时镜像:
    jlink --module-path "path\to\jdk18\jmods" --add-modules [刚才得到的模块列表] --output myapp-runtime
    
  3. 将Jar放到myapp-runtime\app目录,创建启动脚本(比如Windows下的start.bat):
    @echo off
    myapp-runtime\bin\java -jar app\<filename.jar>
    
    用户拿到打包后的文件夹,双击启动脚本就能运行,无需额外安装JRE/JDK。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:33:13