Переменная переменной Unbound - программирование

Переменная переменной Unbound

При восстановлении моего проекта с Maven я иногда получаю сотни

'несвязанная переменная classpath M2_REPO/etc/..'

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

Когда вы действительно просматриваете файловую систему, в баночках это детали, которых нет, на самом деле там. Eclipse просто не видит их по какой-то причине. Мой m2_repo правильно указан в разделе предпочтений → java- > classpathvariables, и мои экологические переменные также правильно установлены.

Любые идеи для меня?

4b9b3361

Ответ 1

Если вы уже делали несколько раз ШАГ 1, перейдите в ШАГ 2

ШАГ 1
Попробуйте удалить и переопределить env vars:

  • Откройте настройки Eclipse [Окно - Настройки]
  • Перейдите к [Java - путь сборки - переменные пути к классам]
  • Нажмите "Создать" и укажите его имя как "M2_REPO"
  • Нажмите "Папка" и выберите папку репозитория Maven. Например, папка моего репозитория C:/Users/user/.m2/repository
  • Восстановить проект.

Рядом с Eclipse вы также можете добавить переменную M2_REPO из командной строки, используя эту команду Maven:

mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo


ШАГ 2
Если ваш путь сборки правильно определен, проверьте Maven settings.xml:

Window --> Preferences --> Maven ---> User Settings

Если нет, установите его там и измените путь localRepository в теге настроек внутри settings.xml. Обычно вы найдете файл settings.xml в папке .m2 в папке пользователя (например, C:\Documents and Settings\userName.m2).

Ответ 2

Ну, я попробовал шаги в ответ @Йорди. Но это не имело никакого значения. И я пробовал некоторые ритуальные вещи в затмении, такие как:

  • закрытие проекта и его открытие
  • перезагрузка IDE
  • очистка и восстановление и т.д.

без успеха.

Тогда случилось странное, когда я изменил уровень удовлетворенности Java до 1,8 и вернул его обратно в 1.6. Это сработало! Все несвязанные ошибки переменной pathpath исчезли.

Ответ 3

Update Project работал у меня:

Шаг 1: выберите папку проекта

Выберите папку проекта, которая сообщает об ошибке.

Шаг 2: Обновление проекта Maven

Alt + F5 ярлык ИЛИ right-click >> Maven >> Update Project.

Шаг 3: Завершить

Click OK и обновить его.

После этого ошибки должны исчезнуть.

Удача

Ответ 4

Я видел эту проблему раньше, чем один раз, и я не использую плагин maven, поэтому у меня нет окон → Preferences- > Maven. Для решения этой проблемы 'unbound classpath variable M2_REPO/etc/.., хотя у вас есть проблема с настройкой переменной M2_REPO → Переименовать переменную M2_REPO в другое место (например, M2_REPO2), а затем исправить ее до M2_REPO, и эта проблема исчезнет.

Ответ 5

У Mars.2 была эта проблема для меня. Пробовал все эти предложения, затем удалил папку ~/.m2/repository/.metadata, перезапустил eclipse и там был M2_REPO.

Получил там, посмотрев Maven - User Settings, но там нет settings.xml, но была папка .metadata, которая, если вы развернете там файл jdt с местом размещения репозитория eclipse.m2. Понял, что это не принесло пользы, поэтому я удалил его. После перезапуска eclipse и настройки M2_REPO папка ~/.m2/repository/.metadata все еще удаляется. Должно быть, столкнулся с чем-то другим в рабочей области. Не знаю, как это произошло в первую очередь.

Ответ 6

Я попытался установить переменную M2_REPO несколько раз, но, наконец, единственное, что помогло, это запустить Eclipse с параметром -clean.

Ответ 7

Ошибка после удаления Maven Integration из Eclipse.

Ответ 8

Я перепробовал все вышеперечисленное, но ни одна из них не работает для меня. Вот решение, которое работает для меня;

щелкните правой кнопкой мыши проект >> Путь сборки> Настроить путь сборки> Библиотеки

Вы увидите все банки, которые видите в проблемах (M2_REPO....)

>>> Выберите эти банки >>> Удалить >> Применить и закрыть

восклицательный знак исчезает и все ошибки исчезли

Примечание: до этого я тоже делал mvn clean install, обновлял проект, когда не помогло, я попробовал это

Надежда помогает вам...

Ответ 9

M2_REPO должен указывать на ~/.m2/repository (в Eclpise Windows > Preferences > Java > Build Path > Classpath Variables > New...)

Команда maven: mvn -Declipse.workspace="path-to-eclipse-workspace" eclipse:configure-workspace (НЕ eclipse:add-maven-repo как sugested в первом ответе)