Переменная переменной Unbound
При восстановлении моего проекта с Maven я иногда получаю сотни
'несвязанная переменная classpath M2_REPO/etc/..'
в моих ошибках затмения, большую часть времени, когда я снова восстанавливаю, он уходит, но в этом случае его проклинают меня достаточно, чтобы остаться.
Когда вы действительно просматриваете файловую систему, в баночках это детали, которых нет, на самом деле там. Eclipse просто не видит их по какой-то причине. Мой m2_repo правильно указан в разделе предпочтений → java- > classpathvariables, и мои экологические переменные также правильно установлены.
Любые идеи для меня?
Ответы
Ответ 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 в первом ответе)