Java 如何使Eclipse编译器将现有类文件复制到目标目录?

Java 如何使Eclipse编译器将现有类文件复制到目标目录?,java,eclipse,Java,Eclipse,如何使Eclipse将所有文件(除了.java)从源目录复制到输出目录?我在我的源代码下有一些类文件,但它们被过滤掉了。“首选项->Java->编译器->构建->筛选资源”设置对我不起作用 谢谢 编辑: 我提出了一个解决方案:向Eclipse项目添加额外的构建器。这是一个Ant脚本: <project name="example" default="copy_resources" basedir="."> <target name="copy_resources" de

如何使Eclipse将所有文件(除了.java)从源目录复制到输出目录?我在我的源代码下有一些类文件,但它们被过滤掉了。“首选项->Java->编译器->构建->筛选资源”设置对我不起作用

谢谢

编辑

我提出了一个解决方案:向Eclipse项目添加额外的构建器。这是一个Ant脚本:

<project name="example" default="copy_resources" basedir=".">
    <target name="copy_resources" depends="" >
        <copy todir="bin" overwrite="false">
            <fileset dir="src">
                <exclude name="**/*.java" />
            </fileset>
        </copy>
    </target>
</project>


但是,我必须手动触发“buildproject”命令才能执行Ant脚本。当我执行“清理”时,它不会被执行…

您需要将类目录放在与源代码不同的目录中,我通常将它们放在名为“lib”的目录中(不仅是类目录,还包括jar)

一旦类位于不同的目录中:

右键单击项目>属性>Java构建路径>库 选项卡>添加类文件夹按钮>选择目录>确定>确定


当您构建项目时,应该包括类目录。

听起来像是
。类
文件是其他文件的工件,或者是签入的,或者是由外部进程创建的。在这两种情况下,Eclipse似乎都没有意识到它们(根据您的描述)

您可以尝试以下操作:将新生成器添加到项目中。选择“Ant”并选择工作区根目录下的
build.xml
(或者您决定的任何位置-您需要创建此文件)。无论何时重建项目,ant脚本都将运行

<?xml version="1.0" encoding="UTF-8"?>
<project default="copy">
  <target name="copy">
    <mkdir dir="someplace"/>
      <copy todir="someplace">
        <fileset dir="source">
          <include name="**/*.class"/>
        </fileset>
      </copy>       
   </target>
</project>


您只需要修复文件的源和目标。

为什么在源目录中有.class文件?这看起来很难看…请检查这个问题的背景:它是不同的。我源代码中的“.class”文件是我在该位置需要的资源。请检查我的另一个背景问题:为什么必须将它们放在源代码目录中?如果您使用完全相同的包结构,那么将类文件放置在何处(如果您将它们添加到构建路径,也就是说)没有区别。我在运行时使用放置在同一包中的类的getClass().getResource()访问资源。这种方法不需要绝对路径,并且可以从IDE和JAR中工作。我可以问一下为什么要这样做吗?你正确地理解了这个问题。我在您之前一分钟发布了相同的解决方案:-)不幸的是,即使启用了“自动生成”,我也必须手动触发“生成项目”操作。