Да, это определенно возможно, при условии, что вы используете JSF 2.0, часть Java EE 6.
Что касается управляемых bean-компонентов и других классов JSF, таких как валидаторы, преобразователи и т. Д., Просто аннотируйте их@ManagedBean
, @FacesValidator
, @FacesConverter
и т. Д. И упакуйте их в JAR обычным способом.Вам нужно только предоставить JSF 2.0-совместимый файл /META-INF/faces-config.xml
в JAR.
<?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>
Таким образом, JSF будет запускаться для сканирования классов в JAR на предмет конкретных аннотаций JSF.В качестве альтернативы вы также можете просто зарегистрировать их в JAR faces-config.xml
пути JSF 1.x.
Что касается ресурсов Facelets, просто поместите их в папку /META-INF/resources
JAR.Он будет обрабатываться так же, как общедоступный веб-контент WAR.
См. Также: