Java Ant不会将生成的类文件包含到打包的jar中,直到我完成一个项目->;日食中的清洁
我遇到了一些奇怪的行为,似乎与Eclipse有关,这是刷新工作区的方法 我正在使用一个Ant构建文件来创建我的类文件,并从该类文件创建一个包。此功能运行良好 这是开展工作的目标:Java Ant不会将生成的类文件包含到打包的jar中,直到我完成一个项目->;日食中的清洁,java,eclipse,ant,Java,Eclipse,Ant,我遇到了一些奇怪的行为,似乎与Eclipse有关,这是刷新工作区的方法 我正在使用一个Ant构建文件来创建我的类文件,并从该类文件创建一个包。此功能运行良好 这是开展工作的目标: <target name="package" depends="compile,javaDoc"> <jar destfile="${dist.dir}/MyApplication.jar" basedir="${build.dir}" includes="**/*.class">
<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>
<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>
问题是,这个目标没有将生成的类文件包含到jar中。即使在文件系统上,也不会显示生成的类文件。只有在Eclipse中转到Project->Clean并清理项目后,类文件才会在文件系统上可见
感谢您的帮助
我的编译目标如下所示:
<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>
<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>
修复编译目标中的错误有效。 这是工作版本:
<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>
你能发布你的编译目标吗?当然-我在问题的末尾添加了它。目标清除,编译:删除目录“dist.dir”,然后请在“dist.dir”中编译所有文件……不完全确定你的清除目标删除了源文件。编译目标尝试编译已删除的文件,因此不会生成任何类文件。