Geben Sie die Reihenfolge an, in der die Konfigurationsdateien und Klassen in Java geladen werden

Das Problem, das Sie lösen möchten

Ergebnis der Forschung

Die Reihenfolge war wie folgt. Da 1 und 2 aufgrund der Verpackungsmethode und der Anordnung umgebungsabhängiger Dateien schwer frei einzustellen sind, platzieren Sie die JAR außerhalb des WAR und dann <Bibliothek>, wenn Sie die Ladereihenfolge detailliert angeben möchten Es scheint gut, die Reihenfolge im Detail in anzugeben.

  1. In WAR-Datei aufnehmen
  2. Fügen Sie es in die JAR-Datei ein und platzieren Sie es in der WAR-Datei WEB-INF / lib
  3. Platzieren Sie außerhalb des WAR (geben Sie in "" in Libertys server.xml an).

Insbesondere hat es eine solche Form. Die Reihenfolge der Angabe der untergeordneten Elemente von "" ist die Reihenfolge des Ladens der Klasse. Wenn nicht nur "", sondern auch "" angegeben wird, ist die Reihenfolge der XML-Elemente die Reihenfolge des Ladens der Klasse.

<library id="mydir">
  <file name="/mydir/foo1.jar"/>
  <file name="/mydir/foo2.jar"/>
</library>

<webApplication location="/dir/bar.war">
  <classloader privateLibraryRef="mydir"/>
</webApplication>

Was ich nicht verstanden habe

Es scheint, dass dieselbe Einstellung durch Angabe des "Klassenpfads" von MANIFEST.MF vorgenommen werden kann. Wenn sie jedoch durch den "Klassenpfad" von MANIFEST.MF angegeben wird, der im WAR enthalten ist, ist sie aus irgendeinem Grund nicht das Ziel des Klassenladens. Es war wie.

Recommended Posts

Geben Sie die Reihenfolge an, in der die Konfigurationsdateien und Klassen in Java geladen werden
In der Abbildung verstandene Java-Klassen und -Instanzen
Geben Sie den Java-Speicherort in eclipse.ini an
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Java Zwei Listen werden der Reihe nach ignoriert, null wird ignoriert und Duplikate werden ignoriert.
Lesen und Schreiben von GZIP-Dateien in Java
Ein Hinweis zu den Unterschieden zwischen Schnittstellen und abstrakten Klassen in Java
In Bezug auf transiente Modifikatoren und Serialisierung in Java
Über die Idee anonymer Klassen in Java
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
Importieren Sie Dateien derselben Hierarchie in Java
[Java] [javaSliver] Die Schnittstelle und die abstrakten Klassen sind kompliziert, daher werde ich sie zusammenfassen.
Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
Unterschiede zwischen Klassen und Instanzen in Ruby
Was ist besser, Kotlin oder zukünftiges Java?
Java (Klasse und Instanz)
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
[Java] ArrayList → Sollte die Größe bei der Array-Konvertierung angegeben werden?
Identifizieren Sie Threads im Java-Prozess, die CPU verschwenden
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Gleiches Urteil / gleichwertiges Urteil / Vergleich / Reihenfolge in Swift und Java
Denken Sie über die Unterschiede zwischen Funktionen und Methoden nach (in Java)
Implementieren wir die Bedingung, dass der Umfang und das Innere der Ougi-Form in Java enthalten sind [Teil 2]
Implementieren wir die Bedingung, dass der Umfang und das Innere der Ougi-Form in Java enthalten sind [Teil 1]
Lesen Sie Binärdateien in Java 1
[Java] Generics-Klasse und Generics-Methode
Lesen Sie Binärdateien in Java 2
Über Java Abstract Class
Java abstrakte Methoden und Klassen
Sortieren Sie die Liste in absteigender Reihenfolge in Java und generieren Sie zerstörungsfrei eine neue Liste
[Java] Verschiedene Zusammenfassungen an die Leiter von Klassen und Mitgliedern
Exportieren von Projekten und Kriegsdateien beim Erstellen von serverseitigem Java in Eclipse
Die Frühjahrsvalidierung war in der Reihenfolge von Form und BindingResult wichtig
Beurteilen Sie, ob die zu vergleichenden Zeichenfolgen in Java identisch sind