#java #maven-2 #maven #maven-plugin #nexus
#java #maven-2 #maven #maven-плагин #nexus
Вопрос:
Когда я запускаю команду mvn eclipse:eclipse, jar зависимостей ojdbc14.jar загружается без каких-либо проблем. Затем, когда я запускаю команду mvn clean install, maven пытается загрузить тот же jar снова — но на этот раз это не удается, говоря, что jar не найден в репозитории.
Что я отметил, так это то, что при первом запуске команды (mvn eclipse: eclipse) Maven просматривает репозиторий Nexus нашей компании — и находит jar. При выполнении команды mvn clean install maven напрямую переходит в центральный репозиторий, не заглядывая в Nexus, и, следовательно, не находит jar.
1) Почему maven пытается загрузить jar, когда он уже присутствует на локальном компьютере?
2) Почему maven пропускает репозиторий Nexus перед переходом в центральный репозиторий?
Ответ №1:
Я подозреваю, что ваша проблема связана с вашим файлом настроек maven. Перехватывает ли ваш файл настроек вызовы для всех удаленных репозиториев, например, так:
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://yournexusrepoaddress</url>
</mirror>
В противном случае загруженные pom-файлы могут переопределить, где искать внешние репозитории. Смотрите эту ссылку для получения дополнительной информации. Я надеюсь, что это поможет.
Комментарии:
1. Oystein, спасибо за ответ! По-прежнему ли это позволяет Maven при необходимости обращаться к центральному репозиторию?
2. Нет, это не так, но разве не в этом суть использования сервера Nexus. На мой взгляд, ваш сервер Nexus должен быть центральным проксированием, и тогда все эти артефакты попадают в Nexus, а не на все компьютеры разработчиков и / или серверы сборки. Можно исключить central из catch all с помощью чего-то вроде этого !central, * , но я бы не рекомендовал это. Это говорит о том, что перехватываются все другие репозитории, кроме центрального. Я не уверен, что приведенная выше команда чувствительна к регистру, поэтому она может работать не совсем так, как написано (возможно, вместо этого центральная).