如何让Eclipse Compiler将现有的类文件复制到目标目录?

时间:2012-02-27 18:04:35

标签: java eclipse

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

谢谢!

修改

我提出了一个解决方案:在Eclipse项目中添加额外的Builder。这是一个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>

但是我必须手动触发“Build Project”命令才能执行Ant脚本。当我做“清洁”时,它没有被执行......

2 个答案:

答案 0 :(得分:2)

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

将类放在不同的目录中后:

  

右键单击项目&gt;属性&gt; Java构建路径&gt;图书馆   标签&gt;添加类文件夹按钮&gt;选择目录&gt;好的&gt;行

构建项目时,应包含类目录。

答案 1 :(得分:0)

听起来.class文件是来自其他内容的工件,要么已签入,要么由外部进程创建。在任何一种情况下,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>

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