我遇到了一些似乎与Eclipse连接的奇怪行为,它是刷新工作区的方法。
我正在使用Ant构建文件来创建我的类文件并从该类文件创建一个包。此功能正常。
这是完成工作的目标:
<target name="package" depends="compile,javaDoc">
<jar destfile="${dist.dir}/MyApplication.jar" basedir="${build.dir}" includes="**/*.class">
<zipgroupfileset dir="${lib.dir}" includes="*.jar" />
<manifest>
<attribute name="Main-Class" value="MyApplication" />
</manifest>
</jar>
</target>
现在我想添加功能,首先清理生成类文件和jar文件的目录。
这是目标代码:
<target name="clean" description="Removes all *.class and *.jar files. Also deletes the java doc files.">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" /></target>
此目标也可以正常使用。
现在我希望软件包目标依赖于干净的目标,以便在打包之前首先清理文件夹。
这看起来像这样:
<target name="package" depends="clean,compile,javaDoc">
<jar destfile="${dist.dir}/MyApplication.jar" basedir="${build.dir}" includes="**/*.class">
<zipgroupfileset dir="${lib.dir}" includes="*.jar" />
<manifest>
<attribute name="Main-Class" value="MyApplication" />
</manifest>
</jar>
</target>
问题是,该目标不包括生成的类文件到jar中。即使在文件系统上,也不会显示生成的类文件。在Eclipse中进入Project-&gt; Clean 之后只有清理项目后,类文件在文件系统上变得可见。
感谢任何帮助。
我的编译目标如下所示:
<target name="compile" depends="init" description="Compiles the source file to the created directory.">
<javac classpathref="classpath" srcdir="${dist.dir}" destdir="${build.dir}" includeantruntime="false" />
</target>
答案 0 :(得分:0)
修复编译目标中的错误。 这是工作版本:
<target name="compile" depends="init" description="Compiles the source file to the created directory.">
<javac classpathref="classpath" srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="false" /></target>