Где разместить пользовательский файл RichFaces my.skin.properties?
В документах написано, что они помещены в META-INF/skins, но RichFaces не находит их там или где-либо еще, что я пробовал
Я использую Tomcat с компонентами MyFaces 2 JSF и RichFaces 4
Обновление: я разместил исключение, которое выбрасывает Tomcat, по адресу http://paste.lisp.org/display/128193
Обновление 2: в ответ на комментарии BalusC ниже, я установил, что указание org.richfaces.SKIN в верхнем регистре также не помогает.
1 ответ
Форумы сообщества отмечают, что my.skin.properties
файл (примечание: множественный скин для скинов - как в my.skins.properties
- неверно) должен быть в WEB-INF/classes/META-INF/skins
,
Например, в NetBeans это можно сделать следующим образом:
- Переключитесь на вкладку Файлы.
- Создайте новый каталог на том же уровне, что и src и web, с именем
resources
, - Создать подкаталог в
resources
называетсяWEB-INF
, - копия
my.skin.properties
в ресурсы / WEB-INF. Обновить
web.xml
содержать:<context-param> <param-name>org.richfaces.skin</param-name> <param-value>my</param-value> </context-param>
Примечание. В некоторых местах, включая официальную документацию, имя параметра скина называется
org.richfaces.SKIN
, что неверно. Имя параметра должно быть в нижнем регистре.
Следующий:
Обновить
build.xml
содержать:<target name="-post-dist"> <war destfile="${dist.war}" update="true"> <zipfileset dir="${basedir}/resources/WEB-INF" prefix="WEB-INF/classes" /> </war> </target>
- Нажмите Shift+F11, чтобы перестроить приложение.
Убедитесь, что архив (например, Project.war) содержит следующий файл:
\Project.war\WEB-INF.classes\my.skin.properties
При развертывании приложение должно найти файл свойств.