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

Maven引入org.json依赖运行时出现NoClassDefFoundError求助

嗨,刚看到这个问题,我之前也踩过一模一样的坑!先给后来遇到这个问题的小伙伴梳理下原因和解决办法:

关于Maven引入org.json后运行报NoClassDefFoundError的解决思路

首先,mvn package正常但运行报错,核心原因基本都是依赖没被正确放到运行时的类路径里——毕竟Maven默认打包只会包含你自己的代码,不会自动把依赖包塞进去。

几个靠谱的解决办法

  • 先确认依赖scope没写错
    别把scope设成provided或者test!这俩都会让Maven在打包时跳过这个依赖。正确的依赖配置应该是这样的:

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20231013</version> <!-- 建议用最新的稳定版本 -->
        <!-- 要么不写scope(默认就是compile),要么明确写<scope>compile</scope> -->
    </dependency>
    
  • 打包成「胖JAR」(最推荐)
    如果你的项目是要生成可直接运行的JAR,一定要用Maven插件把依赖一起打包进去。我常用maven-shade-plugin,配置起来很简单:
    在pom.xml的<build>标签里加这段插件配置:

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.5.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>
    

    然后执行mvn clean package,去target目录找带-jar-with-dependencies后缀的JAR,用java -jar运行它,就不会再报找不到类的错误了。

  • 临时方案:运行时手动指定类路径
    如果只是临时测试不想改打包配置,运行的时候可以手动把org.json的JAR加到类路径里:

    java -cp target/你的项目名.jar:~/.m2/repository/org/json/json/20231013/json-20231013.jar com.yourpackage.YourMainClass
    

    不过这个方式每次运行都要敲一大串,不适合长期用。

看你说已经找到解决办法啦,估计大概率是用了胖JAR的方案吧😆

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:12:04