Проблема с загрузкой SSL в Maven - PullRequest
4 голосов
/ 13 февраля 2010

Я пытаюсь создать плагин Confluence. Я следую тезисам инструкциям .

Однако, когда я запускаю команду atlas-create-confluence-plugin, maven выдает ошибки SSL, пытаясь получить ресурс из https://m2proxy.atlassian.com/repository/public/.

альтернативный текст http://img46.imageshack.us/img46/6281/mavenssl.jpg

Нужно ли менять настройку в моей конфигурации?

Настройка системы: Windows Vista, с Apache Maven 2.1.0 (r755702; 2009-03-18 19: 10: 27 + 0000)

Ответы [ 3 ]

5 голосов
/ 13 февраля 2010

Доступ к хранилищу по SSL на самом деле не проблема Maven (которая использует HttpClient под капотом и в конечных классах из пакета java.net), это проблема чисто Java: сертификат удаленного хранилища должен быть доверенный, т. е. корневой сертификат CA для этого сертификата должен находиться в файле cacerts, входящем в комплект JRE, или вам необходимо установить цепочку доверия вручную.

В конкретном случае https://m2proxy.atlassian.com/, сертификат был выдан DigiCert CA.

Странная часть заключается в том, что последние JDK (Java 5u15 или новее или Java 6u5 или новее, см. Идентификатор ошибки: 6647251 ) имеют корневой сертификат CA для DigiCert. Итак, с недавним JDK все должно работать (если у вас нет прокси, делающего какую-то чёрную магию, как в в этом выпуске ).

Если вы используете более старую версию JDK и не можете обновить ее, экспортируйте сертификат из своего браузера, используйте keytool, чтобы добавить его в хранилище доверенных сертификатов, и настройте Java для использования этого хранилища доверенных сертификатов (используя javax.net.ssl.trustStore и javax.net.ssl.trustStorePassword системные свойства). Подробнее о том, как это сделать, см. Мини-руководство Maven и / или это сообщение в блоге .

Но самый простой способ - использовать недавний JDK.

0 голосов
/ 19 декабря 2014

В большинстве случаев, ответ Паскаля - это путь. Однако, если вы создаете сам Maven, он не работает (по крайней мере, с Maven 3.2.3), потому что ant не может передать необходимые свойства javax.net, когда он вызывает класс MavenCli, чтобы Maven построить остаток Maven.

Решением этой проблемы является изменение файла build.xml в корне исходного каталога maven и добавление этих строк в цель maven-compile:

<arg value="-Djavax.net.ssl.trustStore=/path/to/trustStore" />
<arg value="-Djavax.net.ssl.trustStorePassword=TrustStorePassword" />
0 голосов
/ 13 февраля 2010

ОК, похоже, я неправильно понял вопрос.

По какой-то причине maven не загружал файл maven-confluence-plugin-3.0.5.jar. Мне пришлось вручную загрузить этот файл с URL-адреса и добавить его в правильный каталог .m2.

После этого весь процесс работал нормально.

...