TL; DR
Wie wird Eclipse's eingebauter Maven mit einem HTTPS-Repository verbunden, das zertifikatbasierte Authentifizierung verwendet?
Es scheint, dass m2e
die Keystores finden kann, aber keine Verbindung herstellen kann. Befehlszeile Maven funktioniert wie ein Zauber, der genau die gleichen Schlüsselspeicher verwendet. Run as -> Maven build
arbeitet mit externem Maven und nicht mit dem eingebetteten.
Problem
Ich habe ein Maven-Projekt mit einer Abhängigkeit. Diese Abhängigkeit ist in einem Repository verfügbar, das zusätzlich zur regulären Kombination aus Benutzername und Kennwort eine SSL-Zertifikat-basierte Authentifizierung verwendet. Ich muss es in Eclipse Luna mit dem eingebauten Maven machen. Alles, was ich bekommen kann, ist handshake_failure
. Die Untersuchung der Logs zeigt, dass der eingebaute Maven kein passendes Zertifikat finden kann.
Wenn ich Run as -> Maven build
mit einem externen Maven oder Kommandozeilen-Maven verwende, stellt es erfolgreich eine Verbindung zum Repository her und ruft das Artefakt genau nach Bedarf ab.
Interessant ist, dass sowohl externe als auch eingebettete Mavens dieselbe Version (3.2.3) haben.
Einrichtung
Ich übergebe diese Parameter durch eclipse.ini
:
Die Datei trustStore
enthält:
repository.location.url
gespeichert wird (literaler Repository-Speicherort hier, z. B. myrepository.com <) / em>) Die Datei keyStore
enthält ein importiertes PKCS-Zertifikat unter einem Alias des Repositorys.
Es scheint überhaupt kein Problem mit dem Setup zu geben, da die Befehlszeile Maven funktioniert. Wenn ich externes Maven oder Kommandozeile eins verwende, funktioniert es. Wenn ich auf embedded eins wechsle (was immer zur Auflösung von Abhängigkeiten verwendet wird), wird handshake error
angezeigt.
Was mache ich falsch? Ich vermisse etwas völlig Offensichtliches. Jede Hilfe wäre willkommen.
Ich hatte genau das gleiche Problem: Eclipse konnte keine Verbindung zum externen Maven-Repository herstellen, wenn die eingebettete Maven-Installation für den Fall verwendet wird, dass das Repository ein Client-SSL-Zertifikat benötigt.
Das Problem wurde gelöst, indem ich auf das neueste jvm (in meinem Fall - 1.8.0u52) upgraden und das Eclipse m2e-Plugin auf Version 1.6.1 (mit Eclipse Version 4.4.0) upgraden.
Optionen, die bei mir nicht funktionierten
Schritte, die das Problem für mich gelöst haben
wurde am 19.09.2017 aktualisiert
Wählen Sie in Ihren Laufkonfigurationen Ihren Maven Build und dann den JRE Tab am oberen Rand des Dialogs. Setzen Sie Ihre SSL-Parameter in den Textbereich der VM-Argumente.
das hat es für mich repariert.
Tags und Links eclipse java maven ssl-certificate m2e