在java中运行useant
编译和JAR文件创建都是成功的 通过ant文件运行java文件会产生错误在java中运行useant,java,ant,jar,Java,Ant,Jar,编译和JAR文件创建都是成功的 通过ant文件运行java文件会产生错误 <project> <target name="clean"> <delete dir="build"/> </target> <target name="compile"> <mkdir dir="build/classes"/> <javac srcdir="src"
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/Helloworld" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="Helloworld"/>
</manifest>
</jar>
</target>
<target name="run">
<java jar="build/jar/Helloworld" fork="true"/>
</target>
</project>
BUILD SUCCESSFUL您的JAR文件将不包含
HelloWorld
类。默认情况下,Ant忽略java进程的返回代码请参见:您可以添加failonerror=“true”属性来更改此行为,即:
试着改变
<target name="run">
<java jar="build/jar/Helloworld" fork="true"/>
</target>
到
NoClassDefFoundError已经说明了这一点。想解释一下原因吗?我正在回答这个问题,显然这对于这个问题的作者来说并不明显。
<target name="run">
<java jar="build/jar/Helloworld" fork="true"/>
</target>
<target name="run">
<java jar="build/jar/Helloworld" failonerror="true" fork="true"/>
</target>