Рефактоp> Перемещение перекрывает местоположение другого проекта
Я пытаюсь переместить проект Android в каталог различий в рабочей области, используя Refactor > Move.
Проблема заключается в том, что в диалоговом окне "Переместить проект" кнопка "ОК" отключена, при этом красным будет следующее сообщение:
\ winshare\песочница\рабочее пространство \NewDirName перекрывает местоположение другого project: NewDirName
Самое забавное: каталог с именем NewDirName даже не существует!
(позже я попытался создать такой каталог вне Eclipse, но это не помогло)
Любая идея, почему это?
Я использую Eclipse 3.6.1 64-бит с последним Android SDK 9 (под Windows 7).
Ответы
Ответ 1
- Удалить проект. Не удалять ресурсы из файловой системы.
- Затем вы можете переименовать папку проекта вне Eclipse (используя графический интерфейс командной строки или файлового менеджера)
- Теперь импортируйте проект обратно в рабочую область (Файл → Импорт → Существующий проект в Рабочую область.
Сообщение об ошибке, которое вы получаете, вводит в заблуждение. Рефакторинг не предназначен для проектов. Проблема в том, что плагин должен удалить опции Refactor, когда выбранный элемент является проектом, а не пакетом или классом.
Ответ 2
Я наткнулся на ту же проблему (ошибка "перекрывает местоположение другого проекта" ), пытаясь создать новый проект для набора файлов учебников, распакованных из ZIP файла. Эта проблема появилась на нескольких форумах, поэтому я перекрестно размещаю ответ, поэтому он доступен в обоих.
Я использую Vista, Eclipse 3.7.0
Я не знаю, что должен делать "Файл | Новый | Проект | Проект Android | Создать проект из существующего источника", но я не мог заставить его работать для вышеуказанных распакованных файлов. Я продолжал получать эту ошибку.
Я нашел, что делало:
1) Скопируйте распакованное дерево файлов для проекта туда, куда вы хотите, чтобы он в конечном итоге находился.
2) Файл | Импорт | Общий | Существующие проекты в рабочее пространство | Выберите корневой каталог:
и укажите его везде, где вы положили zipped файлы, установите флажок для Project, который вам нужен, затем Finish
Шаг 2, кажется, фактически не перемещает файлы в любом месте (хотя термин "импорт" подразумевал это для меня), но, похоже, просто заставляет Eclipse знать, где находится проект, и использует проект из этого каталога.
Это работает, по крайней мере, для меня.
Ответ 3
В моем случае с Eclipse 4.2 я изменил структуру папок на:
./workspace/%project_folder%
в
./2014/android-things/%project_folder%
→ символическая ссылка ./workspace/%project_folder%
Новая папка 2014 была фактически репозиторией git.
В рабочей области нет проектов, и реимпорт не работал - поэтому мне пришлось удалить символическую ссылку и переименовать проект под android-things
в полное имя org.domain.%project_folder%
, чтобы избежать возможных конфликтов.