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

Ant构建项目时报org.json类不存在错误,org.json单独测试可正常使用

问题根因

org.json依赖仅在编译环节配置了classpath,打包生成jar和后续运行jar的两个环节均未引入该依赖,因此编译可正常通过,但运行时会抛出类不存在异常。

修复方案

两种常用可行方案,任选其一即可:

方案1:生成带依赖的可执行jar(推荐)

修改build.xml的dist目标,将org.json的类一并打入最终生成的jar包中,修改后配置如下:

<target name="dist" depends="compile">
    <mkdir dir="${dist.dir}"/>
    <jar jarfile="${dist.dir}/${project.name}.jar"
         basedir="${build.dir}"
         manifest="${src.dir}/Manifest.mf">
        <!-- 引入org.json依赖的所有类 -->
        <zipgroupfileset dir="C:/JSON/" includes="json-20210307.jar" />
    </jar>
</target>

修改完成后重新执行ant clean build即可正常运行。

方案2:运行时单独指定依赖路径

如果不需要把依赖打入jar包,可修改运行目标的配置,明确将org.json的路径加入运行时classpath:

<target name="build" depends="dist">
    <java classname="替换为你的主类全限定名" fork="true">
        <classpath>
            <pathelement path="${dist.dir}/${project.name}.jar"/>
            <pathelement path="C:/JSON/json-20210307.jar"/>
        </classpath>
    </java>
</target>

注意将配置中的替换为你的主类全限定名修改为实际main方法所在类的完整路径。

补充说明

当前配置中定义的run.classpath未被任何环节引用,后续可统一用其管理依赖路径,避免多处重复编写绝对路径。

内容的提问来源于stack exchange,提问作者I try so hard but I cry harder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:18:02