2013-10-12 2 views
0

Я делаю веб-приложение на сервере Tomcat, используя Stripes. Приложение имеет несколько модулей, каждый из которых локализован через собственный файл StripesResources.properties. Каждый модуль упаковывается в файл JAR под номером WEB-INF/lib.Сжатия ресурсов в разных JAR

WEB-INF/lib 
|- moduleA.jar 
| |- com.some.package 
| | |- ModuleA.class 
| |- StripesResources.properties 
|- moduleB.jar 
| |- com.some.package 
| | |- ModuleB.class 
| |- StripesResources.properties 

Проблема заключается в том, что загружается только файл StripesResources. Я понял, что ресурсы загружаются системой ClassLoader, которая, похоже, загружает первый файл с таким именем, которое он находит.

Какова наилучшая практика использования нескольких ресурсов?

  • Должен ли я предоставить этим файлам ресурсов разные имена?
  • или Есть ли способ для некоторого класса использовать .properties из JAR, из которого он был загружен?

Спасибо.

ответ

1

Как я уже выяснил, Stripes не поддерживает множество пакетов ресурсов (хотя он позволяет использовать отдельные файлы для сообщений об ошибках и меток форм). Поэтому я решил реализовать свой собственный LocalizationBundleFactory, который будет загружать все файлы *.properties с заданным именем, используя ClassLoader.getResources(String).

Исходный код эскиза для решения будет опубликован в ближайшее время.

+0

с нетерпением жду. –

Смежные вопросы