2012-05-04 1 views
0

Я использую Maven для развертывания веб-проекта Java на моем сервере Tomcat 6.0. У меня есть «система», названная проектом, которая является войной, и имеет собственную конфигурацию JSF и управляемые bean-компоненты JSF.Развертывание нескольких военных файлов с собственными настройками JSF

Цель состоит в том, что на этой системе могут быть установлены некоторые приложения, а сами приложения также имеют свой веб-контент и конфигурацию JSF. Моя проблема приходит сюда, и у меня есть два варианта.

Если я скомпилирую приложение как файл jar, файл faces-config.xml должен быть сохранен в папке META-INF проекта, поэтому при загрузке jar JSF может найти этот файл, потому что он находится по умолчанию место. Тем не менее, у моего приложения также есть веб-контент, и я должен хранить его в главном системном (webapp) месте, если я хочу, чтобы он был прочитан. Это функциональное, но не элегантное решение.

Что я хочу сделать, так это определить приложение в качестве военного файла и включить его в основной файл POM системы, каждый веб-контент из моего приложения будет опубликован на сервере автоматически. Это хорошая идея, но что я могу сделать с моим файлом faces-config.xml? У меня уже есть один, определенный в моей системе, и когда Maven пытается его развернуть, он обнаруживает, что на сервере уже есть тот же самый именованный файл. Поэтому я не могу получить конфигурацию JSF для своего приложения из своей системы.

Существует способ определения нескольких файлов jsf-config с использованием context-param в web.xml. Что-то вроде этого работает, но я хочу, чтобы он был динамичным:

<context-param> 
    <param-name>javax.faces.CONFIG_FILES</param-name> 
    <param-value>/WEB-INF/faces-config.xml, /WEB-INF/faces-managed-beans.xml,/WEB-INF/faces-navigation.xml</param-value> 
</context-param> 

Есть ли у кого-нибудь идеи? Заранее спасибо!

+1

Почему именно у JSF-модулей в JAR-файлах в '/ WEB-INF/lib' webapp' 'не элегантно? Это точно решение вашей проблемы. – BalusC

+0

Потому что модули также имеют веб-контент (xhtml и css)! Хороший выбор - извлекать содержимое из JAR каждый раз, когда он меняется? Я думал, что лучше собрать его, как войну, и наложить два проекта ... –

+0

Извините, я до сих пор не вижу/не понимаю конкретную проблему. – BalusC

ответ

0

Это хорошая идея, но что я могу сделать с моим файлом faces-config.xml ?? У меня уже есть один определенный в моей системе ...

Похоже, что вы должны удалить эту копию и поместить экземпляр webapp в каждой веб-папке.

+0

Нет, потому что у системы есть своя конфигурация JSF! У каждого приложения есть еще один. –