Вот еще одна проблема, с которой мы сталкиваемся при переносе нашего приложения из текущей производственной среды в новую среду центра обработки данных (см. подробности ниже)Java 1.5, Java EE 5, WAS 6.1: Исключение загрузки пакета ресурсов с помощью ResourceBundle.getBundle (...)
- Текущая производственная среда: 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 со следующей структурой (проверьте изображение - пардон скрывая некоторые детали)
alt text http://i43.tinypic.com/fxdqo0.jpg
Этот класс имеет код для загрузки свойства базы данных из 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. Также мы попытались поместить его в вышеупомянутые места, но безрезультатно.
С уважением,
- Ашиша
Я предполагаю, что вы имеете в виду JSF 1.2: http://java.sun.com/javaee/javaserverfaces/reference/api/index.html – McDowell
Где db.properties находится в вашем приложении? – McDowell
Пакеты ресурсов предназначены для сообщений и меток, относящихся к языку. Являются ли ваши базы данных конкретными? Я бы подумал, что для этого и предназначался JNDI. Мне кажется, что место для свойств базы данных мне не подходит. Путь невозможен. – duffymo