蚂蚁编译不复制资源

2022-09-01 04:12:58

我创建了自己的版本.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>

它的工作原理,但我想在没有复制命令的情况下执行此操作。javac有什么参数吗?还是别的什么?

感谢您的回答。


答案 1

没有这样的参数。您可以使用以下命令在目录之间复制各种文件:

<copy todir="build">
    <fileset dir="src"
             includes="**/*.xml,**/*.properties,**/*.txt,**/*.ico" />
</copy>

答案 2

抱歉,您需要手动复制非 Java 文件。从技术上讲,资源不是“源头”。命令行 javac 不会将资源文件从源目录复制到输出目录,ant 的 javac 任务也不会。


推荐