Derzeit habe ich ein Problem bei der Migration eines Java Enterprise-Projektformulars alten WAS-8 zu Liberty Profile 17. In meinem Fall die Umgebung kann eine Menge css/js-Dateien im Richfaces-Jar finden. eine Seite in den Browser laden, schreibt WLP17 Warnungen wie diese in das Logfile:Websphere Liberty Profil: [WARNING] SRVE0190E: Datei nicht in der Bibliothek gefunden, die in der EAR-Datei enthalten ist
[WARNING ] SRVE0190E: File not found: /org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.5.17.Final/PackedCompressed/org.richfaces/jquery.js
ich das Projekt mit Maven bauen, und ich definiert die Richfaces Abhängigkeit in der Mutter pom wie folgt aus:
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces</artifactId>
<version>4.5.17.Final</version>
</dependency>
Dann Ich habe mehrere EJB- und WAR-Projekte, die in einer EAR-Datei zusammengefasst sind. Die WAR-Projekte unter Verwendung von Richfaces enthalten eine Richfaces Abhängigkeit mit Rahmen versehen:
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces</artifactId>
<scope>provided</scope>
</dependency>
Schließlich ist die EAR pom die Abhängigkeit von Richfaces hat, um sicherzustellen, dass die Bibliothek in der EAR-Datei enthalten ist. Aus irgendeinem Grund ist die Freiheit nicht in der Lage, Ressourcen zu finden, die sich im Richfaces-Jar befinden.
Ich habe die erstellte EAR-Datei untersucht, sie enthält die Richfaces-Bibliotheken. Dann inspizierte ich die Richfaces-Bibliotheken, die auch die Dateien enthalten, die nicht gefunden werden.
Gibt es noch mehr Konfiguration, die ich tun muss?
Da Sie statische Web-Ressourcen zu dienen sind versucht, es Sinn machen kann package die richfaces-library in den WAR-projekten - eher das im E AR-Level wie du es anscheinend tust. – wtlucy
Warum sollte ich die richfaces-Bibliothek in jedes WAR-Projekt packen? Für mein Verständnis ist es ebenso sichtbar wie seine Ressource im Bereich für alle Bibliotheken und Archive, die in der EAR-Datei gepackt sind. Ich kann richfaces-Tags in den JSF-Seiten ohne Laufzeitausnahmen verwenden. – Joko
Ich machte eine weitere interessante Beobachtung: Einige Projekte statische Ressourcen (wie js und CSS-Dateien), die in Unterordner (wie resouorces/css/foo/bar.css) mit dem library-Attribut referenziert wurden (library = "css/foo") wurden auch nicht gefunden. Ich habe sie in den css-Ordner verschoben und jetzt sind sie gefunden. – Joko