Eclipse: зависимости поиска Maven не работают

91

Я создал новый простой проект Maven в новой рабочей области.

Когда я открываю pom.xml«s Dependenciesпредставление в редакторе Eclipse , и я выбираю Add..зависимость, нет никаких результатов поиска независимо от того , что поиск критериев I ввода в поисковых полей:

Это мгновенно дает мне, например Results for 'spring' (0),.

В другом моем рабочем пространстве с моими существующими проектами у меня нет этой проблемы.

Есть способ исправить это?

Маджид Лаисси
источник
3
Я считаю, что есть решение по следующей ссылке: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Ответы:

187

Поиск артефактов Eclipse зависит от индексного файла репозитория. Похоже, вы не загрузили индексный файл.

Перейдите в Window -> Prefrences -> Maven и отметьте «Загружать обновления индекса репозитория при запуске» . Перезапустите Eclipse и посмотрите на прогресс. Должен быть загружен индексный файл.

После полной загрузки поиск артефактов будет готов к использованию.

Настройки Maven

ОБНОВЛЕНИЕ Вам также необходимо перестроить индекс репозитория Maven в «представлении репозитория maven».

В этом представлении откройте «Глобальные репозитории», щелкните правой кнопкой мыши «центральный», установите флажок «Включить полный индекс», а затем нажмите «Перестроить индекс» в том же меню.

Будет загружен индексный файл размером 66M.

Репозитории Maven -> Перестроить индекс

Сюцзюнь Ма
источник
4
Window-> Preferences-> Maven
McLovin
5
обновление репозитория при перезапуске занимает чертовски много времени, не знаю, завершится оно или нет, есть альтернатива?
Vasanth Nag KV
5

В вашем eclipse перейдите в Windows -> Настройки -> Maven. Отметьте Скриншот настроек Maven галочкой опцию «Загружать обновления индекса репозитория при запуске». Вы можете перезапустить затмение.

Также перейдите в Windows -> Показать вид -> Другое -> Maven -> Репозитории Maven Скриншот представления репозитория Maven

На панели репозиториев Maven разверните глобальные репозитории, затем щелкните правой кнопкой мыши центральные репозитории и установите флажок «Полный индекс включен», а затем нажмите «Перестроить индекс» .

Скриншот полного индекса

Хеталь Рах
источник
1
Как ваш ответ вообще что-то добавляет к ранее принятому ответу Сюцзюнь Ма? Вы как будто скопировали этот ответ, но изменили его формулировку. Даже снимки экрана в вашем ответе почти идентичны снимкам для принятого ответа!
skomisa
@skomisa Я вообще не копировал ответ. Я ответил на это, когда действительно столкнулся с этой проблемой. Также снимки экрана с моей работы. Копирование и вставка ответов не имеет смысла в stackoverflow. И если бы я скопировал и вставил его, я бы уже ответил на тысячи вопросов, которых у меня еще нет.
Hetal Rachh
1
Хорошо, но ваш ответ только повторяет информацию, которая была предоставлена ​​в принятом ответе.
skomisa
4

Вы можете получить этот результат, если вы находитесь внутри корпоративного прокси, а новый проект не указывает на правильный файл settings.xml с учетными данными прокси.

Вы также можете получить это, если используете прокси Maven (например, Nexus), и индекс в прокси каким-то образом испорчен. Я не знаю, как это исправить. Поиграйте с ним или позвоните тому, кто настраивал прокси Maven.

Вы также можете получить это, если новое рабочее пространство еще не загрузило индекс ни из Maven central, ни из прокси. (Это лучший вариант, так как вам просто нужно немного подождать, и он сработает сам.)

Ли Мидор
источник
на самом деле у меня открыты две рабочие области (в двух разных затмениях), в одном из них он работает, а в другом нет, так что это не может быть проблемой прокси-сервера или подключения к Интернету. И ни в одной из рабочих областей нет файла setting.xml ... Думаю, вы правы насчет загруженного индекса, но я не знаю, как его загрузить (у меня эта проблема возникла со вчерашнего дня, поэтому ждать бесполезно)
Majid Laissi
1
Я использую MyEclipse, и настройки могут отличаться от ваших. Но у меня есть кнопка, которую вы можете использовать в окне> настройки> MyEclipse> Maven4MyEclipse> Настройки пользователя. Кнопка помечена как «Переиндексировать», и если вы ее нажмете, это может помочь. Здесь есть изображение и дополнительная информация: (нажмите)
Ли Мидор
Кстати, settings.xml - это файл, который находится в папке .m2 вашей пользовательской папки. (Windows 7 - это c: \ Users \ YourName \ .m2, Linux - это ~ / .m2) и может содержать глобальную информацию для нескольких рабочих областей. Эта же страница настроек позволяет вам выбрать его.
Ли Мидор
Спасибо за ваше время. Я пробовал это безуспешно, но Reindex будет переиндексировать только мой локальный репозиторий maven (библиотеки у меня уже есть)? А для файла settings.xml он не существует ни в одной рабочей области (ссылки на настройки Eclipse / пользовательские настройки C:\Users\XX\.m2\settings.xmlи говорит User settings file doesn't exist), и это то же самое для обеих рабочих областей, поэтому я думаю, это не важно.
Маджид Лаисси
info http://maven.apache.org/settings.html о том, что находится в файле. Пока в Maven Central нет прокси, паролей и всего, что вам нужно, вы можете обойтись и без него.
Ли Мидор
4

Для меня по этой проблеме работали:

  • удалить ~ / .m2
  • включить «Полный индекс включен» в представлении репозитория maven в центральном репозитории
  • «Индекс восстановления» в центральном репозитории maven

После перезапуска eclipse все заработало.

Павел
источник
3

Зависимость добавления maven на самом деле связана с индексами maven. Если индексы обновлены, результат должен быть оттуда.

Если вы перейдете в репозиторий maven, затем выберите глобальный репозиторий, вы должны увидеть центральную вкладку ... и выбрать ее, должен быть список папок, и вы сможете увидеть все индексы оттуда. Если нет, то это означает, что вы не получили полный индекс, тогда вы можете щелкнуть его правой кнопкой мыши и включить полный индекс.

Еще меня больше всего раздражало то, что даже я все сделал, все равно ничего не показывает, когда я набираю "пружина". На самом деле здесь я ошибся. Если вы просто наберете дополнительный текст «springframework», БУМ, результат будет.

Тиан Ху
источник
1

У меня такая же проблема. Ни один из предложенных выше вариантов не помог мне. Однако я обнаружил, что если я скажу, что вручную добавлю groupid / artifact / version для org.springframework.spring-core версии 4.3.4.RELEASE и сохраню pom.xml, зависимости загрузятся автоматически, и поиск будет работать для уже имеющихся jar в репозитории. Однако, если я теперь ищу org.springframework.spring-context, которого нет в текущих зависимостях, этот поиск по-прежнему не работает.

арпи
источник
0

Используйте https://search.maven.org/ вручную с префиксом fc: для поиска имен классов. И Netbeans, и Eclipse кажутся слишком глупыми, чтобы использовать этот интерфейс поиска, а гигабайты загруженных индексов репозитория, похоже, не содержат никакой информации о классах. Полная потеря дискового пространства. Эти проекты IDE в последнее время находятся в таком плохом состоянии, что я бы хотел, чтобы они перенесли разработку на GitHub.

user1050755
источник
0

Для загрузки необходимого файла jar необходимо предоставить идентификатор группы и идентификатор артефакта. Если вы хотите выполнить поиск, просто используйте *, * для этих полей.

Сати
источник