Ответ 1
Создайте новый "Java Project" в Eclipse. Добавьте его в качестве другого проекта в свойство Assembly развертывания основного динамического веб-проекта. Таким образом, он автоматически закончится как JAR в /WEB-INF/lib
сборки веб-проекта. Начиная с более новых версий Eclipse, вы также можете создать проект как "Проект веб-фрагментов". Таким образом, шаг сборки развертывания будет выполнен автоматически.
Поместите все эти общие файлы ресурсов JSF2/Facelets в папку /META-INF/resources
проекта Java. Просто рассматривайте его как WebContent/resources
основного веб-проекта. Tagfiles можно просто сохранить в своей папке /META-INF/tags
.
например.
CommonWebProject
|-- META-INF
| |-- resources
| | `-- common
| | |-- css
| | | `-- some.css
| | |-- js
| | | `-- some.js
| | |-- images
| | | `-- some.png
| | |-- components
| | | `-- somecomposite.xhtml
| | `-- sometemplate.xhtml
| |-- tags
| | `-- sometag.xhtml
| |-- faces-config.xml
| |-- some.taglib.xml
| |-- web-fragment.xml
| `-- MANIFEST.MF
:
с
<h:outputStylesheet library="common" name="css/some.css" />
<h:outputScript library="common" name="js/some.js" />
<h:graphicImage library="common" name="images/some.png" />
<common:somecomposite />
<common:sometag />
<ui:include src="/common/sometemplate.xhtml" />
...
Если вы хотите также запустить сканер аннотаций JSF2, чтобы вы могли поместить @ManagedBean
, @FacesValidator
, @FacesConverter
и судить в этом проекте, также создайте файл /META-INF/faces-config.xml
, совместимый с JSF2 (он может даже оставаться пустым).
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
Что все.