我创建了自己的build.xml,其中包含:
<target name="compile"> <mkdir dir="build"/> <javac destdir="build"> <src path="src"/> </javac> </target> <target name="build" depends="compile"> <mkdir dir="dist"/> <jar destfile="dist/app.jar" basedir="build" /> </target> <target name="run" depends="compile"> <java classname="webserver.Loader" classpath="build" fork="true" /> </target>
效果很好。当我调用ant run时,它会编译并运行我的应用程序,但是我的应用程序带有图标包,并且不会移动到“ build”文件夹,因此我的应用程序以无法找到我的图标的异常结束。当我自己移动它们时,它将起作用。
我尝试使用
<copy todir="build/app/icons"> <fileset dir="src/app/icons"/> </copy>
它可以工作,但是我想不使用copy命令。javac是否有任何参数?或者是其他东西?
谢谢你的答案。
抱歉,您将需要手动复制非Java文件。从技术上讲,资源不是“来源”。命令行javac不会将资源文件从源目录复制到输出目录,ant的javac任务也不会。