4 Stimmen

SSL-Problem beim Herunterladen von Ressourcen in Maven

Ich versuche, ein Confluence-Plugin zu erstellen. Ich habe diesen Anweisungen gefolgt.

Wenn ich jedoch den Befehl atlas-create-confluence-plugin ausführe, wirft Maven SSL-Fehler beim Versuch, Ressourcen von https://m2proxy.atlassian.com/repository/public/ abzurufen.

alt text http://img46.imageshack.us/img46/6281/mavenssl.jpg

Muss ich eine Einstellung in meiner Konfiguration ändern?

Systemkonfiguration: Windows Vista, mit Apache Maven 2.1.0 (r755702; 2009-03-18 19:10:27+0000)

0 Stimmen

Könnten Sie einige Informationen über Ihr Betriebssystem und Ihre Maven-Version geben?

0 Stimmen

Danke, ich habe dies zur Hauptfrage hinzugefügt.

0 Stimmen

Deine jdk-Version wäre hier nützlich :)

5voto

Pascal Thivent Punkte 548176

Der Zugriff auf ein Repository über SSL ist eigentlich kein Maven-Problem (das unter der Haube HttpClient verwendet und letztendlich Klassen aus dem java.net-Paket), dies ist ein reines Java-Problem: Das Zertifikat des entfernten Repositorys muss vertrauenswürdig sein, d.h. das CA-Stammzertifikat für dieses Zertifikat muss in der Datei cacerts gebündelt sein im JRE oder Sie müssen manuell eine Vertrauenskette herstellen.

Im speziellen Fall von https://m2proxy.atlassian.com/ wurde das Zertifikat von DigiCert CA ausgestellt.

Das Seltsame ist, dass neue JDKs (Java 5u15 oder später oder Java 6u5 oder später, siehe Bug ID:6647251) ein CA-Stammzertifikat für DigiCert haben. Daher sollte es mit einem neuen JDK einfach funktionieren (es sei denn, Sie haben einen Proxy, der irgendwelche Tricks anwendet, wie in diesem Issue).

Wenn Sie ein älteres JDK verwenden und nicht aktualisieren können, exportieren Sie das Zertifikat aus Ihrem Browser, verwenden Sie keytool, um es einem Truststore hinzuzufügen, und richten Sie Java so ein, dass es diesen Truststore verwendet (unter Verwendung der Systemeigenschaften javax.net.ssl.trustStore und javax.net.ssl.trustStorePassword). Sehen Sie sich den Maven-Minileitfaden und/oder diesen Blog-Beitrag für weitere Details dazu an.

Aber der einfachste Weg wäre die Verwendung eines neuen JDKs.

0voto

Michael Edwards Punkte 5878

OK, es scheint, als hätte ich die Frage falsch verstanden.

Aus irgendeinem Grund hat Maven die Datei maven-confluence-plugin-3.0.5.jar nicht heruntergeladen. Ich musste diese Datei manuell von der URL herunterladen und an der richtigen Stelle im .m2-Verzeichnis hinzufügen.

Danach hat der gesamte Prozess einwandfrei funktioniert.

0 Stimmen

Aber Maven sollte in der Lage sein, diese Datei über SSL herunterzuladen. Das manuelle Installieren in Ihr lokales Repository funktioniert zwar immer, aber um zukünftige Probleme zu vermeiden, möchten Sie vielleicht Ihre SSL-Konfiguration überprüfen. Grüße

0voto

Trebor Rude Punkte 1822

In den meisten Fällen ist Pascals Antwort der richtige Weg. Wenn Sie jedoch Maven selbst erstellen, funktioniert es nicht (zumindest bei Maven 3.2.3), da ant die erforderlichen javax.net-Eigenschaften nicht übergeben kann, wenn es die Klasse MavenCli aufruft, um Maven den Rest von Maven erstellen zu lassen.

Die Lösung für dieses Problem besteht darin, die Datei build.xml im Stammverzeichnis des Maven-Quellverzeichnisses zu ändern und diese Zeilen dem Ziel maven-compile hinzuzufügen:

0voto

Stefan U7 Punkte 61

In Windows half die folgenden Schritte bei der Ausführung der Befehlszeile geholfen

SET MAVEN_OPTS=-Djavax.net.ssl.trustStore="C:\Program Files\Java\jdk1.8.0_201
jre\lib\security\cacerts"

Den folgenden Fehler habe ich bekommen: Unerwarteter Fehler: java.security.InvalidAlgorithmParameterException: Der trustAnchors-Parameter muss nicht leer sein

(man könnte auch mvn.cmd anpassen...) Hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X