Почему eclipse пытается скопировать мои .svn-папки из src в bin и как я могу остановить его?
Я проверил кучу java-кода, используя subversion 1.6, а затем импортировал эти проекты в eclipse. Subclipse 1.6 взял тот факт, что плагины находятся под контролем версий, за исключением нескольких папок.
Теперь я получаю кучу ошибок вроде:
Ресурс является дубликатом src/.svn/all-wcprops и не был скопирован в папку вывода
Если я удалю проект (от затмения не на диске) и reimport, это устраняет проблему примерно в половине случаев. Но так как у меня есть десятки проектов, которые имеют эту проблему, это означает, что они реимпортируют их 10-20 раз, прежде чем я заставлю их работать. Это очень больно, и я устал делать это каждый раз, когда кто-то добавляет новый плагин в svn или когда мне нужно воссоздать рабочее пространство по какой-то причине.
Есть ли более простой способ исправить это, чем delete и reimport? Или есть способ предотвратить эту проблему в первую очередь?
Ответы
Ответ 1
Это происходит потому, что вы проверили проект с использованием клиента SVN, отличного от Eclipse, а затем импортировали проект в Eclipse, и вы не уведомили Eclipse, что это проект SVN (то есть, Eclipse не знает, что он для игнорирования метаинформации SVN).
Чтобы исправить это правильно, после того, как вы импортировали проект в Eclipse, Eclipse будет "осведомлен" о природе SVN проекта. Сделайте это с помощью
- Выберите проект и перейдите в раздел Team > Share.
- Появится диалоговое окно с запросом погоды, это проект CVS или SVN. Выберите более позднюю версию.
- Он будет запрашивать учетные данные и вводить их.
- Когда вы закончите, сделайте чистую сборку. Проблема уходит.
Ответ 2
Добавьте папку .svn в список "Исключенные" для вашей исходной папки.
- Проект- > Свойства
- Путь сборки Java
- вкладка "Источник"
- Выберите "Исключено"
- нажмите
- Нажмите рядом с разделом Шаблоны исключений внизу
- Добавьте папку .svn и любые другие, которые не нужно копировать в выходной каталог
Ответ 3
Следуйте процедуре, описанной Келли, но определите шаблон исключения как **/.svn/*
. Это будет рекурсивно исключать все каталоги .svn
из различных исходных папок.
Ответ 4
Более простой способ сделать это:
- Проект > Свойства
- Ресурs > Фильтры ресурсов > Добавить...
- Тип фильтрa > Исключить все
- Относится к > Папки
- Проверить всех детей (рекурсивный)
- Атрибуты файлов и папок > Введите ".svn"
- Нажмите "ОК" и "ОК" снова
- Clean/сборки
Ответ 5
------------ Простой способ фильтрации выходной папки -------------
Окно- > Настройки- > Java- > Компилятор- > Строительство
Убедитесь, что "Filtered Resources" включает ".svn/"
Ответ 6
"Принятый лучший ответ" описал причину для меня, но поскольку мой проект уже был разделен, я 1. закрыл проект, 2. снова открою его и 3. очистил. Папка .svn исчезла и не возвращается.