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

导出普通JAR文件后无法运行:找不到org.apache.commons.lang3.StringUtils

问题与解决方法

问题描述

  • 项目已引入org.apache.commons.lang3.jar依赖,在Eclipse中可正常运行
  • 通过「Runnable JAR File」选项导出的可执行JAR能正常启动
  • 为缩小文件体积选择「JAR File」选项导出后,运行JAR时提示找不到org.apache.commons.lang3.StringUtils

解决方案

方法1:手动指定类路径运行

将导出的JAR与org.apache.commons.lang3.jar放在同一目录,执行以下命令启动(Windows系统用分号替代冒号):

# Linux/Mac
java -cp 你的导出JAR包名.jar:org.apache.commons.lang3.jar 主类全限定名

# Windows
java -cp 你的导出JAR包名.jar;org.apache.commons.lang3.jar 主类全限定名

方法2:调整Eclipse导出配置

在「JAR File」导出向导中:

  • 勾选「Export generated class files and resources」
  • 展开项目的「Referenced Libraries」,勾选org.apache.commons.lang3.jar一起导出
  • 导出后编辑MANIFEST.MF,添加以下配置(替换为你的主类路径):
    Main-Class: com.yourpackage.YourMainClass
    Class-Path: org.apache.commons.lang3.jar
    

方法3:用构建工具打包(更高效)

如果项目使用Maven或Gradle,可通过插件生成包含依赖的精简可执行JAR:

  • Maven:添加maven-shade-plugin到pom.xml,执行mvn package生成合并依赖的JAR:
    <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>
                <mainClass>com.yourpackage.YourMainClass</mainClass>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
    
  • Gradle:引入shadow插件,执行gradle shadowJar生成目标JAR:
    plugins {
        id 'java'
        id 'com.github.johnrengelman.shadow' version '7.1.2'
    }
    
    shadowJar {
        mainClassName = 'com.yourpackage.YourMainClass'
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:20:33