Рефакто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%, чтобы избежать возможных конфликтов.