Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Ant不会将生成的类文件包含到打包的jar中,直到我完成一个项目->;日食中的清洁_Java_Eclipse_Ant - Fatal编程技术网

Java Ant不会将生成的类文件包含到打包的jar中,直到我完成一个项目->;日食中的清洁

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">

我遇到了一些奇怪的行为,似乎与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>
    <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”中编译所有文件……不完全确定你的清除目标删除了源文件。编译目标尝试编译已删除的文件,因此不会生成任何类文件。