У меня установлен EAR в eclipse на WLP 8.5.5.3.
Это запись EAR с прикрепленным загрузчиком классов:
<enterpriseApplication id="App4EAR" location="App4EAR-4.1.5-SNAPSHOT.ear" name="App4EAR">
<classloader apiTypeVisibility="spec,ibm-api,api" delegation="parentFirst" commonLibraryRef="baseLibraries.app4">
</classloader>
</enterpriseApplication>
Сервер запускается без проблем. Первая страница jsp в приложении пытается прочитать файл свойств, который находится в компоненте WAR. Вот где это не удается.
SRVE0777E: Exception thrown by application class 'java.util.ResourceBundle.throwMissingResourceException:1427'
java.util.MissingResourceException: Can't find bundle for base name prop.appadmin, locale nl_BE
Объект, который считывает свойства, находится в веб-приложении вместе с файлом свойств. Служебный класс для чтения пакета ресурсов находится в отдельном банке и является частью общей библиотеки (baseLibraries.app4).
Это запись из определения развертывания App4EAR.ear.xml, которая указывает на папку, в которой находится файл свойств:
<dir sourceOnDisk="C:\svn\app4\App4Web\target\classes" targetInArchive="/WEB-INF/classes"/>
При использовании java.util.ResourceBundle() непосредственно в приложении он успешно находит файл свойств. Но не так, когда мы используем служебный класс из разделяемой библиотеки.
Почему общая библиотека не может получить доступ к ресурсам свойств в основном веб-приложении?