Вот еще одна проблема, с которой мы сталкиваемся при переносе нашего приложения из текущей производственной среды в новую среду центра обработки данных (подробности см. Ниже)
- Текущая производственная среда: Java 1.4, Java EE 3, WAS 5.1, JSF 2.1
- Новая среда: Java 1.5, Java EE 5, WAS 6.1, JSF 2.1
Здесь у нас есть сторонний jar-файл со следующей структурой (проверьте изображение - простите, что скрыл некоторые детали)
Этот класс имеет код для загрузки свойств базы данных из ResourceBundle (db.properties). Вот код, выданный Cavaj:
private static ResourceBundle getDBProperties()
{
if(dbProperties == null)
{
dbProperties = ResourceBundle.getBundle("db");
}
return dbProperties;
}
Это приложение отлично работает в текущей среде. Но почему-то, когда мы перемещаем приложение в новую среду, мы получаем «MissingResourceException» (см. Ниже):
Caused by: java.util.MissingResourceException: Can't find bundle for
base name db, locale en_US
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:863)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:832)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:576)
at
com.myco.wo.vs.util.OrderLovUtilities.getDBProperties(OrderLovUtilities.java:195)
Мы пробовали следующие обходные пути, но ни один из них не работал:
- Переименовал db.properties в db_en_US.properties
- Помещение файла свойств в банку
- перемещение файла jar на уровне EAR.
Пожалуйста, подскажите, что здесь может быть не так. И что мы можем сделать, чтобы это заработало:)
Примечание: Файл db.properties находится в каталоге WEB-INF / classes. Также мы попытались поместить его в вышеупомянутые места, но безрезультатно.
С уважением,
- Ашиш