Где разместить пользовательский файл 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 это можно сделать следующим образом:

  1. Переключитесь на вкладку Файлы.
  2. Создайте новый каталог на том же уровне, что и src и web, с именем resources,
  3. Создать подкаталог в resources называется WEB-INF,
  4. копия my.skin.properties в ресурсы / WEB-INF.
  5. Обновить web.xml содержать:

    <context-param>
        <param-name>org.richfaces.skin</param-name>
        <param-value>my</param-value>
    </context-param>
    

Примечание. В некоторых местах, включая официальную документацию, имя параметра скина называется org.richfaces.SKIN, что неверно. Имя параметра должно быть в нижнем регистре.

Следующий:

  1. Обновить build.xml содержать:

    <target name="-post-dist">
      <war destfile="${dist.war}" update="true">
        <zipfileset dir="${basedir}/resources/WEB-INF" prefix="WEB-INF/classes" />
      </war>
    </target>
    
  2. Нажмите Shift+F11, чтобы перестроить приложение.

Убедитесь, что архив (например, Project.war) содержит следующий файл:

\Project.war\WEB-INF.classes\my.skin.properties

При развертывании приложение должно найти файл свойств.

Другие вопросы по тегам