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

使用Ant与Ivy构建Java项目时遭遇NoClassDefFoundError求助

Ivy引入依赖后执行Ant运行项目出现NoClassDefFoundError

我是Ivy新手,尝试通过ivy.xml文件为项目引入依赖库,以此移除项目内的本地jar文件。搭建了一个极简的示例项目,在未使用依赖库中的类前一切正常;Ivy已成功从ivy.xml拉取依赖库,且类的import语句也能正常识别,但执行Ant运行项目时出现了NoClassDefFoundError错误。

以下是项目的build.xml代码:

<project default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<path id="default.classpath">
    <fileset dir="lib">
        <include name="**./*.jar" />
        <include name="*.jar" />
    </fileset>
</path>

<target name="clean">
    <delete dir="build"/>
</target>

<target name="resolve" depends="clean">
    <ivy:resolve />
    <ivy:cachepath pathid="default.classpath" />
    <ivy:retrieve sync="true" type="jar"/>
</target>

<target name="compile" depends="resolve">
    <mkdir dir="build/classes"/>
    <javac srcdir="src" destdir="build/classes" includeantruntime="true">
        <classpath>
           <path refid="default.classpath" />
        </classpath>
    </javac>
</target>

<target name="jar" depends="compile">
    <mkdir dir="build/jar"/>
    <jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
        <manifest>
            <attribute name="Main-Class" value="abc.HelloWorld"/>
        </manifest>
    </jar>
</target>

<target name="run" depends="jar">
    <java jar="build/jar/HelloWorld.jar" fork="true">
        <classpath>
            <path refid="default.classpath" />
            <path location="lib/*.jar" />
        </classpath>
    </java>
</target>
</project>

报错截图:
报错截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:30:42