Heim > Java > javaLernprogramm > Wie vermeide ich „Xerces Hell' in Java/Maven?

Wie vermeide ich „Xerces Hell' in Java/Maven?

Patricia Arquette
Freigeben: 2024-11-20 04:23:01
Original
334 Leute haben es durchsucht

How to Avoid

Umgang mit „Xerces Hell“ in Java/Maven?

Hintergrund

Xerces, ein weit verbreiteter XML-Parser im Java-Ökosystem, ist von Bedeutung Herausforderungen aufgrund historischer Faktoren und Verpackungsprobleme. Den offiziellen Xerces-Binärdateien fehlt die Versionierung und das Projekt wird nicht offiziell auf Maven Central hochgeladen. Darüber hinaus haben die Aufteilung von Xerces in mehrere Jars (xml-apis, xercesImpl) und die unterschiedlichen Versionierungspraktiken verschiedener Parteien das Problem verschärft. Dies führt zu Konflikten und Classloader-Problemen bei der Verwendung von von verschiedenen Organisationen veröffentlicht, führt zu Situationen, in denen mehrere Xerces-Abhängigkeiten enthalten sind, was möglicherweise zu Klassenpfadkonflikten führt.

Classloader Hell

Die Einbindung von Xerces sowohl in die JAXP-Referenzimplementierung als auch in die Servlet-Container zusammen Mit den potenziell widersprüchlichen Versionen von Maven-Abhängigkeiten entsteht ein komplexes Klassenladeszenario, das eine sorgfältige Verwaltung erfordert, um Klassenladekonflikte zur Laufzeit zu vermeiden.

Lösungen

Versuche, Xerces-Abhängigkeiten als bereitgestellt auszuschließen oder zu markieren, können eine Herausforderung sein aufgrund der zahlreichen Aliase und Abhängigkeiten von Bibliotheken und Frameworks von Drittanbietern. Es hat sich jedoch eine bedeutende Entwicklung ergeben:

Neuestes Update

Im Februar 2013 wurde eine gepatchte Version der Xerces-Build-Skripte hochgeladen, um das Maven Central-Upload-Problem zu beheben. Xerces 2.11.0 JARs sind jetzt in Maven Central verfügbar und lösen die seit langem bestehenden Versionierungs- und Verpackungsprobleme.

Diese Entwicklung vereinfacht das Xerces-Abhängigkeitsmanagement in Maven-Projekten erheblich. Entwickler können jetzt die folgende Abhängigkeitsdeklaration verwenden, um Xerces korrekt aufzulösen:

Diese Lösung macht eine feinkörnige Abhängigkeitskontrolle und komplexe mehrstufige Klassenlademechanismen überflüssig.

Das obige ist der detaillierte Inhalt vonWie vermeide ich „Xerces Hell' in Java/Maven?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage