2016-06-20 8 views
0

Application Server: IBM WebspheregetResourceAsStream funktioniert nicht auf Websphere-Server

Java 6

Ausgabe:

Im Folgenden finden Sie die Ordnerstruktur der Web-Anwendung:

WEB-INF/libs/Requisiten/

Das Problem ist unterhalb Code funktioniert nicht:

this.getClass(). GetResourceAsStream ('/ props'/+ Dateiname) wobei Dateiname ein gültiger Dateiname innerhalb des Props-Ordners von WEB-INF/lib/pros ist.

Die Klasse, die obige Methode ruft befindet sich in einem JAR und in lib enthalten

Der obige Aufruf gibt NULL.

Das gleiche Setup funktioniert auf Tomcat mit Web-Anwendung im erweiterten Modus in Inteliij IDE integriert. Auf Umfeld, in dem diese Frage kommt, wird die Anwendung als Ohr eingesetzt Bitte helfen, wie ich auf diese keine Ahnung zu bekommen

+0

Sind Sie der Datei sollten Sie Ihre Anwendung als WAR-Datei, oder hat es sich auf dem Datenträger erweitert ausgeführt werden? Welche Version von WebSphere? – ebullient

+0

Es wird als Krieg eingesetzt werden. (Es kann auch ein Ohr sein, aber nicht erweitert). Ich werde Sie wissen, Websphere-Version – Atul

+0

Ist dieses Problem mit Websphere-Klasse geladen? Ich bin wirklich ratlos über diese – Atul

Antwort

2

Die JAR-Dateien unter WEB-INF/lib sind in dem Classpath nicht in der Lage. Nicht WEB-INF/lib selbst.

in einem dieser Gläser oder unter WEB-INF/classes (die im Classpath ist)

+0

Nach dem Java-Dokument, wird GetResourceAsStream Dateinamen mit absoluter Pfad auflösen, wenn fileName enthält /, was der Fall für mich ist.Dann der Klassenlader, der die Klasse von Jar geladen wurde sollte in der Lage, dies zu bekommen Dateiname, da es absoluter Pfad ist. – Atul

+0

getResourceAsStream() lädt ** Ressourcen ** (keine Dateien) aus dem Klassenpfad (nicht das Dateisystem). WEB-INF/lib ist nicht im Klassenpfad. –

+0

Vielen Dank für die Erklärung. Ich werde Ressource in Klassen Ordner verschieben und versuchen – Atul

Verwandte Themen