2016-06-20 2 views
0

Сервер приложений: IBM WebsphereGetResourceAsStream не работает на сервере Websphere

Java 6

Издание:

Ниже представлена ​​структура папок веб-приложения:

WEB-INF/LIBS/реквизита/

Вопрос ниже кода не работает:

this.getClass(). GetResourceAsStream ('/ props'/+ имя_файла), где fileName является допустимым именем файла внутри папки реквизитов WEB-INF/lib/pros.

Класс, который звонит выше метод находится внутри JAR и включены в Lib

выше вызов возвращает NULL.

То же самое работает с tomcat с веб-приложением, развернутым в расширенном режиме, интегрированным в IDE Inteliij. В условиях, когда этот вопрос идет, приложение развертывается как ухо Пожалуйста, помогите, как я не в состоянии получить любой ключ на этом

+0

Вы используете приложение в качестве военного файла, или она была расширена на диске? Какая версия WebSphere? – ebullient

+0

Он будет развернут как война. (Это может быть и ухо, но не расширенное). Я дам вам знать версию websphere – Atul

+0

Связана ли эта проблема с загрузкой класса websphere? Я действительно не понимаю об этом – Atul

ответ

2

В банку файлы под WEB-INF/lib находятся в пути к классам. Не WEB-INF/lib.

Файл должен находиться в одном из этих банок, или под WEB-INF/classes (который находится в пути к классам)

+0

Как и в Java-документе, getResourceAsStream будет разрешать имя файла с абсолютным путем, если fileName содержит /, что имеет место для меня. Тогда загрузчик классов, который загрузил класс из jar, должен иметь возможность получить это имя файла, так как это абсолютный путь. – Atul

+0

getResourceAsStream() загружает ** ресурсы ** (не файлы) из пути к классам (а не файловой системы). WEB-INF/lib не находится в пути к классам. –

+0

Большое спасибо за объяснение. Я перемещу папку ресурсов внутри классов и попробую – Atul