使用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
相关产品推荐
相关产品推荐

