Ich lese in allen Arten von Java-Bibliotheken, die das Jersey HTTP-Client-Paket verwenden, dass ich vorsichtig sein sollte, weil sie Jersey 2.x verwenden und wenn ich Jersey 1.x in meinem Klassenpfad bereits habe, kann es einige verursachen Konflikte.Warum sollte Jersey 1.x mit Jersey 2.x zusammenfallen?
Aber Jersey-Projekt änderte Gruppen-ID und Paketnamen, als es in Glassfish Projekt integriert wurde, beginnend mit Version 2.x.
Da Paketnamen unterschiedlich sind, welche Konflikte könnte es geben? Wenn ich Jersey 1.x in meinem Deployable habe, werden diese Klassen verwendet, da Jersey 2.x, das von der Glassfish Runtime zur Verfügung gestellt wird, völlig verschiedene Klassen mit unterschiedlichen Namen sind.
Ebenso, wenn ich Jersey 1.x in meinem Deployable habe, und einige Abhängigkeit kommt und Jersey 2.x hinzufügt, ist das einzige Problem, das ich haben kann, das folgende: ohne einen Deployment-Deskriptor wird Glassfish seine Version von verwenden die Bibliothek, nicht die zur Verfügung gestellte. Aber auf jeden Fall sollte kein Problem auftreten, weil ich sowohl Jersey 1.x als auch 2.x in meinem Klassenpfad habe, oder?
Bitte beraten, fehle ich etwas? Was ist los?
Nehmen wir an, Klasse x in Version 2 hat eine verbesserte Version der gleichen Methode in Version 1 ... wie in der Welt ist der Compiler zu wissen, welche Sie verwenden möchten? ihre Pfade sind die gleichen, so sind ihre Klassennamen und Signaturen – Stultuske
Nun, nein, es ist klar, dass Jersey Paketnamen vollständig in 2.x geändert hat, richtig? Das habe ich zumindest nach meinen Recherchen herausgefunden. Also, welche Konflikte, sie sind unterschiedliche Klassen. – amihaiemil
immer wenn Sie verschiedene Versionen des gleichen Pakets laden, riskieren Sie Konflikte – Stultuske