Ich möchte wissen, wie Jetty mehrere Abhängigkeitspfade behandelt, die zu derselben Klasse führen können.
Zum Beispiel
Jetty wird mit JSTL-1.2 ausgeliefert, aber ich habe eine Abhängigkeit hinzugefügt, um JSTL-1.2.4 zu laden. Wenn ich beim Kompilieren den Quellcode in Eclipse herunterlade, versuche es bei der Version 1.2.4 zu brechen.
Ich möchte wissen, welche Version übergeben wird, um Byte-Code einer JSP zu generieren, wenn es zwei Versionen von Klassen gibt, sagen wir eine Basisklasse JstlCoreTlv in Abhängigkeit (eine vorkompilierte Version also JSTL 1.2 mit Anlegesteg und einer von maven Abhängigkeit übergeben 1.2.4)
Kurz gesagt, ich möchte wissen, wie Anlegesteg es tut. Ich möchte wissen, wie Jetty pre-packed gegen Abhängigkeiten priorisiert, die später hinzugefügt werden. Selbst wenn die Version älter ist als die vorkompilierte Version, wird sie überschrieben und verweist auf zusätzliche Abhängigkeiten?
Ich konnte in diesem Zusammenhang nicht viel von der Stegdokumentation erfahren. Hilfe wird sehr geschätzt
Wenn Sie mit Maven gegen 1.2.4 kompilieren und verpacken und das Packaged War on Jetty bereitstellen, verwendet Jetty 1.2 (das ist das auf dem Server-Klassenpfad und nicht 1.2.4 (weil es für Jetty nicht verfügbar ist). Dies könnte zu Problemen führen.
Der beste Weg, um Probleme zu vermeiden, besteht darin, genau die gleiche Version in Ihren Maven-Projektabhängigkeiten zu verwenden, da die Version von der Jetty-Version verwendet wird, für die Sie bereitstellen.
Die Servlet-Spezifikation erfordert Folgendes:
Aus der Dokument der Anlegestelle
Eine WEB-INF-Klasse kann eine Server-Klasse ersetzen.
Und die Serverklasse ist hier die Jetty-Implementierung des j2ee-Standards (Code von jetty Quellcode ):
%Vor%Sie können auch die Steuerung der Serverklasse hinzufügen, indem Sie Folgendes aufrufen:
Tags und Links java jetty dependency-injection jstl jetty-8