Поиск Nexus никогда не показывает последние версии артефактов

#java #version-control #maven #maven-3 #nexus

#java #контроль версий #maven #maven-3 #nexus

Вопрос:

Наш магазин использует Nexus для прокси-сервера для Maven Central и нескольких других репозиториев. Время от времени мы используем его для поиска артефактов, чтобы узнать, могут ли быть доступны другие версии. Однако он редко, если вообще когда-либо, показывает эти новые версии вещей. Это много раз сбивало с толку разработчиков, которые ожидали увидеть их в Nexus, если они вообще существовали.

Недавним примером является версия org.springframework.flex версии 1.5.0.RELEASE:spring-flex. If нигде не было в нашем индексе Nexus, но мы могли бы найти его, погуглив Maven Central. Плагин Maven versions также смог его найти.

Как мы можем настроить наш Nexus для обновления его индексов, чтобы мы могли доверять ему в будущем?

Комментарии:

1. Хороший вопрос. Я быстро осмотрелся и sonatype.com/books/nexus-book/reference / … кажется, указывает, что это связано с настройкой «загрузка удаленных индексов». Однако настройка не привела к желаемому поведению.

2. Да — все мои зеркала репозитория имеют значение true для параметра «загрузка удаленных индексов». Но у меня такое чувство, что он загружается только при настройке репозитория.

Ответ №1:

Я вижу org.springframework.flex:spring-flex: 1.5.0.RELEASE, когда я его ищу, и у меня довольно простая установка Nexus. Проверьте в конфигурации репозитория «Максимальный возраст метаданных». Сначала войдите в систему, затем нажмите «Репозитории» на левой панели, выберите интересующий вас репозиторий («Maven Central», верно?) и перейдите на вкладку «Конфигурация» внизу. «Максимальный возраст метаданных» находится в разделе «Настройки истечения срока действия». Если для этого параметра установлено значение «-1», это означает, что метаданные репозитория никогда не будут обновлены. У меня установлено значение 1440 минут (24 часа), и у меня никогда не было проблем с невозможностью найти новые артефакты. Проблема, которую вы описываете, — это именно то, что этот параметр должен предотвращать.

Если это, похоже, не работает, вы можете попробовать установить запланированную задачу для обновления ваших индексов. Войдите в систему как администратор, выберите «Администрирование» на левой панели и перейдите в раздел «Запланированные задачи». Добавьте задачу с «Task Type» = «Download Indexes» и выберите репозиторий или группу репозиториев, к которым вы хотите применить (или «Все репозитории»).). Убедитесь, что вы установили для него «Повторение». Сделайте это для каждого репозитория / группы, которые необходимо обновить.

Комментарии:

1. Я использую Nexus 1.5, и у меня нет этой опции, хотя, полагаю, я мог бы запланировать задачу. Запланирует задачу сейчас и обновится до 1.9 позже сегодня или завтра и отчитается.

2. Планирование повторной загрузки индексов для всех репозиториев изменило ситуацию. Я просто повторно запустил «версии mvn: display-dependency-updates» и выполнил различие, и теперь я вижу еще более новые версии всего. Спасибо!

Ответ №2:

Вы пытались настроить запланированную задачу для загрузки удаленных индексов?

Ответ №3:

Nexus поддерживает запланированные задачи для выполнения всех видов обслуживания, и рекомендуется включать в него загрузку индекса. Ознакомьтесь с книгой в целом, в ней много полезной информации.