Как заставить Eclipse Compiler скопировать существующие файлы классов в целевой каталог?

Как заставить Eclipse копировать все файлы (кроме.java) из исходного каталога в выходной каталог? У меня есть несколько файлов классов под моими источниками, но они отфильтрованы. Настройка "Настройки -> Java -> Компилятор -> Сборка -> Отфильтрованные ресурсы" не работает для меня.

Спасибо!

РЕДАКТИРОВАТЬ:

Я пришел с решением: добавить дополнительный Builder в проект 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>

Однако я должен вручную вызвать команду "Build Project", чтобы выполнить скрипт Ant. Когда я делаю "Очистить", это не выполняется...

2 ответа

Вы должны иметь каталоги классов в другом каталоге, чем ваш исходный код, я обычно помещаю их в каталог с именем "lib" (не только каталоги классов, но и jar-файлы).

Как только у вас есть классы в другом каталоге:

Щелкните правой кнопкой мыши проект> Свойства> Путь сборки Java> вкладка Библиотеки> кнопка Добавить папку классов> Выберите каталог> ОК> ОК

Когда вы строите свой проект, каталоги классов должны быть включены.

Это звучит как .class файлы - это артефакты из чего-то другого, либо проверенные, либо созданные внешним процессом. В любом случае, Eclipse, кажется, блаженно не знает о них (по вашему описанию).

Вы можете попробовать следующее: добавить нового разработчика в ваш проект. Выберите "Муравей" и выберите 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>

Вам просто нужно исправить источник и место назначения файлов.

Другие вопросы по тегам