Доступ к локальному репозиторию Nexus через https из eclipse

Я использую сборку maven в своем проекте. У меня есть корпоративный репозиторий Nexus в нашей локальной сети. Этот репозиторий размещен по протоколу https.

У меня возникают проблемы с доступом к этому репозиторию из eclipse.

Отображаемая ошибка:

Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (execution: default-compile, phase: compile)
    - CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor 
     for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1: ArtifactResolutionException: Failure to transfer org.apache.maven.plugins:maven-compiler-plugin:pom:2.5.1 from https://
     NexusServer/nexus/content/groups/CLM/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced. Original 
     error: Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:2.5.1 from/to nexus (https://NexusServer/nexus/content/groups/CLM/): 
     sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    - Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (execution: default-testCompile, phase: test-compile)

Я немного погуглил и нашел решение для передачи сертификата при запуске сборки maven. Я загрузил сертификат и передал его maven, используя -Djavax.net.ssl.trustStore=Path/To/My/KeyStore

Инструмент командной строки работает нормально. Однако я до сих пор не могу построить проект, используя maven в eclipse.

Maven не загружает новые зависимости из локального репозитория.

Заранее спасибо за вашу помощь!

Прабодх


person Prabodh Mhalgi    schedule 29.06.2015    source источник


Ответы (1)


Ваш Nexus использует SSL-сертификат, который не считается действительным для Java, на котором работает Eclipse. Это связано с тем, что сертификат в Nexus не был подписан доверенным корневым центром сертификации, таким как Verisign.

Вам нужно будет установить общедоступный сертификат в Nexus в хранилище доверенных сертификатов Java Java, на котором работает Eclipse, чтобы исправить это, тогда ему будет доверять. Вы можете использовать нашу утилиту import-ssl.jar, чтобы помочь вам в этом, см. раздел 24.2.3 здесь:

https://books.sonatype.com/nexus-book/reference/ssl-sect-client-cert.html

person rseddon    schedule 29.06.2015
comment
Спасибо! Я скачал сертификат. Теперь кажется, что eclipse может подключиться к моему репозиторию Nexus. Если я запускаю проект обновления, обновление завершается успешно. Раньше он постоянно зависал, пытаясь подключиться к нексусу. Тем не менее, упомянутые выше ошибки все еще сохраняются. Если я добавлю новую зависимость, банки не будут загружаться автоматически. Если я запускаю плагин maven eclipse (mvn eclipse:eclipse) из командной строки, банки загружаются и отображаются в справочных библиотеках. - person Prabodh Mhalgi; 30.06.2015