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

使用Paths类时可执行Jar出现NoClassDefFoundError问题

解决导出可执行Jar时的NoClassDefFoundError(Paths类相关)

嘿,我来帮你捋清楚这个问题——你遇到的错误本质上是对rt.jar的定位搞错了,咱们一步步解决:

首先明确一个关键:rt.jar是JRE的核心运行时库,绝对不应该被打包到你自己的可执行Jar里。Paths类属于java.nio.file包,本身就是JRE标准API的一部分,每个正常安装的Java环境都会自带这个类,根本不需要你手动把rt.jar加入类路径。

你现在出现错误的原因大概率是这几个情况:

  • 开发时错误地把rt.jar当成第三方依赖添加了,但导出时没打包(其实这步是对的,不该打包),但运行Jar的环境Java版本太低,或者JRE配置有问题,导致找不到标准的Paths类;
  • 或者导出可执行Jar时的配置有问题,比如主类指定错误,或者自己的代码依赖处理遗漏,但如果报错明确是Paths类,那前者的可能性更大。

给你几个具体的解决步骤:

  1. 移除手动添加的rt.jar依赖
    赶紧从项目的类路径里删掉rt.jar,它是JRE自带的,完全不需要额外引入。如果用Maven/Gradle,检查依赖配置里有没有错误添加的rt.jar相关条目,直接移除就行。

  2. 确认运行环境的Java版本
    Paths是从Java 7开始才有的类,所以你运行Jar的环境必须安装Java 7或更高版本。打开命令行输入java -version,确认版本符合要求——要是用了Java 6或更早的版本,肯定会找不到这个类。

  3. 正确导出可执行Jar
    如果你用IDE(比如IntelliJ或Eclipse):

    • 导出时一定要选对包含main方法的主类;
    • 选择“复制所需的第三方库到Jar所在文件夹”或者“将第三方库打包到Jar中”(注意这里只打包你自己用到的非JRE自带的依赖,别碰rt.jar);
    • 要是用Maven的shade插件或者Gradle的shadow插件打包,确保配置只打包你的代码和第三方依赖,JRE的标准类库会自动由运行环境提供。

举个Maven shade插件的正确配置示例(只处理你的代码和第三方依赖):

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.4.1</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <transformers>
              <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                <mainClass>com.yourpackage.YourMainClass</mainClass>
              </transformer>
            </transformers>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  1. 用命令行测试运行
    导出Jar后,打开命令行执行java -jar 你的Jar文件名.jar,如果还是报错,仔细看错误信息里的具体类名——如果还是Paths类,那百分百是运行环境的JRE有问题,比如版本过低、安装损坏;如果是你自己的类,那就是打包时遗漏了代码或者依赖。

总结一下,核心就是:rt.jar是JRE自带的,不需要打包,问题要么出在运行环境的Java版本不对,要么是打包配置没处理好自己的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:25:36