Как исключить папку, которая выдает предупреждения / ошибки в проекте Eclipse? - PullRequest
59 голосов
/ 17 сентября 2010

Хорошо. Мне надоела эта проблема. Это должно легко исправить, я уверен в этом !! Я надеюсь, что ТАК поможет мне избавиться от этого раз и навсегда!

Вопрос

Как заставить Eclipse перестать пытаться обрабатывать / компилировать все файлы под конкретный каталог проекта? цель заключается в отсутствии ошибок / предупреждений существуют в представлении проблем, если они относитесь к чему-либо в этой папке или ее подпапках.

Фон

Мы запускаем Eclipse 3.6, а плагин m2eclipse v0.10.2.20100623 управляет нашей автоматической сборкой. По независящим от меня причинам у нас есть весь дистрибутив BlazeDS в нашем каталоге проектов SVN в src/main/resources/blazeds. По сути, этот каталог содержит ванильный дистрибутив запущенных блэйдов tomcat, в который добавляются все наши файлы конфигурации и файлы проектов, когда мы внедряемся на наш сервер через SCP.

Итак, когда мы запускаем deploy, эта версия tomcat копируется на сервер, и наш проект помещается внутрь. Tomcat и наше приложение RIA работают, и все в порядке.

Проблема в том, что Eclipse пытается скомпилировать все под src/main/resources/blazeds при запуске AutoBuild, и в нашем представлении проблем генерируется около 300 ошибок / предупреждений. Поэтому, когда появляется настоящая ошибка, она теряется среди шума.

Ошибки проистекают из кода /blazeds/tomcat/webapps/samples/testdrive-datapush, а также из примеров testdrive-httpservice, traderdesktop примеров веб-приложений. У них есть зависимый исходный код, который отсутствует в classpath и jar, которые не включены в библиотеки.

Неудачные попытки решения

Я пытаюсь найти правильное решение: полностью удалить сэмплы, а также избавиться от контроля версий. Это не произойдет в ближайшее время.

Я следовал ответу SO здесь , но это только очень временное решение. Я пытался добавлять исключения везде, где только мог придумать, и другие члены моей команды сделали то же самое. Я удалил src/main/resources в качестве исходного каталога (в настройках> Java Build Path> Source Tab) Я добавил исключения для blazeds в каталоге ресурсов. Я пробовал каждую перестановку blazeds и **, как в *blazeds*, **/blazeds/** и т. Д.

Я даже пытался включить библиотеки и исходные файлы, на которые жалуется компилятор, но я не смог сделать это правильно, не излишне искажая конфигурацию нашего проекта.

Резюме

Это должно быть просто. Что обычный способ исключить папку который производит предупреждения / ошибки в проект затмения?


Обновление № 1:
Решение Гедима ниже приличное, но оно
1) не удаляет красные X из проекта
2) это изменение, которое нужно сделать каждому в нашей команде, вручную
(т.е. оно не находится в файле свойств проекта; следовательно, оно не проверяется на подрывную деятельность)

Я надеюсь, что есть способ решить основную проблему, сообщив Eclipse, что этот каталог не содержит
элементы для компиляции / проверки. Такое изменение, скорее всего, появится в одном из файлов настроек проекта.


Обновление № 2:

На рисунке ниже показаны красные крестики, которые я пытаюсь очистить, и что
Build Path > Exclude
не вариант ...

Red X's won't go away

Ответы [ 8 ]

57 голосов
/ 15 декабря 2012

Я столкнулся с подобной проблемой и решил ее, переместив папку в папку моего проекта. Затем я пошел к:

  1. Проект> Свойства> Ресурс> Фильтры ресурсов> Добавить ...
  2. Набор Тип фильтра = Исключить все .
  3. Установить Относится к = папкам .
  4. Установить Атрибуты файла и папки = {Имя, совпадения, }
31 голосов
/ 17 сентября 2010

Вы можете использовать Configure Contents... в меню панели Problems. Там вы можете создать новую конфигурацию и установить область действия On Working Set:. Нажмите Select... и создайте новый рабочий набор, исключающий ненужные папки.

8 голосов
/ 28 октября 2011

Существует запрос функции Eclipse для игнорирования предупреждений из указанных исходных папок. Было несколько исправлений, опубликованных в ветке комментариев, которые предоставляют реализации этой функции. Похоже, что последний патч приближается к стадии рассмотрения для включения в следующий выпуск.

Обновление 6/19/2012 : Eclipse Juno 4.2M6 поддерживает игнорирование проблем для определенной исходной папки. Эта функция доступна в диалоговом окне «Путь сборки Java». См. примечание к выпуску .

4 голосов
/ 20 сентября 2010

Если вы действительно хотите исключить определенные классы / пакеты из автоматической сборки, вы можете просто щелкнуть по ним правой кнопкой мыши и выбрать Build Path -> Exclude

alt text

0 голосов
/ 12 августа 2016

Перейти к пути сборки Java -> Источник -> Добавить папку

Выберите правильные папки, которые должны быть частью Build Path

В приведенном выше снимке экрана снимок src / main / resources должен быть удален из сборки, поскольку это приводит к ошибке компиляции [неверный идентификатор пакета]. Следовательно, включите папку до src / main / resources.

Я пробовал Build Path -> Exclude. Это на самом деле не решает проблему. Т.е. хотя метка RedX убрана из Eclipse, она больше не будет правильными проектами Java. Т.е. пользователь может не иметь возможности запускать тестовые случаи JUnit / отладку и т. Д.

Но, включив нужные папки, мы можем продолжить работу как Java Project.

0 голосов
/ 22 августа 2013

Наилучшим подходом является использование параметра «Шаблоны включения и исключения» в пути сборки Java.Например, если вы хотите исключить один проект из автоматической сборки:1- Перейдите в его Свойства-> Путь сборки Java-> Исходный код.2- Разверните папку в области «Исходные папки на пути сборки:»3- Выберите Исключить-> Изменить4- В шаблоны исключения добавить **Примечание: для получения дополнительной информации об этих шаблонах: Шаблоны включений и исключений

0 голосов
/ 24 сентября 2010

Сконфигурируйте ваш проект (Project / Properties / Java Build Path / Source), чтобы вместо папки src верхнего уровня с исключениями был просто список папок, которые вы хотите скомпилировать.

Предполагается, что EclipseГелиос, шаг за шагом:

  • Отключить автоматическое построение (проект / сборка автоматически).
  • Начать с пустого.
  • Удалить ошибки, щелкнув правой кнопкой мыши, какссылка (просто чтобы убедиться).
  • Добавление подлинных исходных папок 1 на 1 (Project / Properties / Java Build Path / Source / Add Folder)
  • Выполнение явной сборки (Project / Build)Project).

Если это сработает, вы сможете снова включить автостроение.Если этого не происходит, происходит что-то странное.Возможно, в проекте используется не стандартный Java Builder, а что-то вроде Ant Builder (Project / Properties / Builders).

0 голосов
/ 22 сентября 2010

Поскольку файлы в папке ресурсов редко меняются, я предлагаю поместить их во второй проект (где вы можете установить различные параметры предупреждений), а затем получить к нему доступ через относительный путь (например, ${basedir}/../special-tomcat).

...