Как отфильтровать файлы из корневых папок "classes" и "test-classes" в Eclipse? - PullRequest
2 голосов
/ 07 января 2011

Я использую ClearCase в своем приложении, которое генерирует целую загрузку файлов ".copyarea.db" (по одному в каждой папке).
Это вызывает конфликты при публикации в Tomcat, поскольку Eclipse объединяет папки "classes" и "test-classes" в один JAR (не уверен, почему это происходит, поскольку нет необходимости иметь тестовые классы, доступные на сервере приложений) .
Любые папки с одинаковыми именами будут иметь отдельный .copyarea.db в ветвях классов и тестовых классов.

Мне удалось обойти эту проблему в целом, добавив «.copyarea.db» к фильтрованным ресурсам на странице настроек Java->Compiler->Building->Output Folder. Это останавливает появление файла в исходных данных (папки пакета / класса), в подавляющем большинстве случаев.

Однако остается проблема с корневой папкой, то есть "target/classes/.copyarea.db" и "target/test-classes/.copyarea.db".
Эти файлы не фильтруются, так как они не являются частью задачи компиляции.
Простое удаление файлов вручную также не помогает, поскольку Eclipse ожидает их найти и не делает.

Как я могу исключить эти ".copyarea.db" файлы из корневых папок "classes" и "test-classes"?

Ответы [ 2 ]

2 голосов
/ 07 января 2011

Этот файл .copyarea.db создается в каждом каталоге веб-представления (через CCRC, удаленный клиент ClearCase).

Самым простым решением было бы непоставить под контроль исходного кода каталоги классов и тест-классов.
Тогда, как иллюстрируется этим technote :

В противном случае каталог не должен контролироваться.
Если каталог не контролируется, то файл .copyarea.db внутри него никогда не должен создаваться.
Если каталог был случайно добавлен в систему контроля версий, это может быть предотвращено в будущемдобавление классов в список игнорируемых.Это предотвратит передачу каталога в ClearCase во время общего ресурса.

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

Если эти папки не находятся под контролем версий, то эти copyarea.db поступают из версионных папок, которые их содержат, и были скопированы в целевую папку.
В этом случае вы можете просто удалить файлы copyarea.db.
Но поскольку вы сказали, что Eclipse "ожидает их найти, а не", я предполагаю, что эти папки "classes" и "test-classes"не приватная папка.

0 голосов
/ 07 января 2011

относительно

Это вызывает конфликты при публикации в Tomcat, так как Eclipse объединяет папки "classes" и "test-classes" в один JAR (не уверен, почему это происходит, поскольку нет необходимости иметь тестовые классы, доступные на сервере приложений. )

Вы можете настроить это в свойствах проекта, пути сборки, порядке и экспорте или использовать maven и m2eclipse !

...