2012-06-07 77 views
0

我嘗試構建一個使用庫(包括EJB和FacesConverters/ManagedBeans)的JSF 2.0 Web應用程序。如何從lib/jar文件注入FacesConverter或託管bean?

我的戰爭文件看起來像這樣:

-WEB-INF/ 
|-beans.xml 
|-lib/ 
| |-myejb.jar 
| |-myconverter.jar 

兩個jar文件還包含放入META-INF文件夾中的beans.xml文件。 奇怪的是,EJB運行良好。 但是我的轉換器包含在myconverter.jar文件中,並未從我的web應用程序中看到。我收到以下消息:

javax.faces.FacesException:Ausdrucksfehler:Benanntes Objekt org.imixs.VectorConverter nicht gefunden。

當我把轉換器類直接進入從我的Web模塊的類它的工作原理。

轉換器類如下所示:

... 
@FacesConverter(value="org.imixs.VectorConverter") 
public class VectorConverter implements Converter { 

我不使用faces-config.xml中

轉換器以我XHMTL文件添加這樣的:

<h:inputTextarea required="false" 
    value="#{teamController.members}"> 
    <f:converter converterId="org.imixs.VectorConverter" /> 
</h:inputTextarea> 

所以我的問題是:爲什麼轉換器在放入jar模塊時看不到?

我GlassFish上運行的應用程序3.1.1

感謝您的幫助

回答

4

是否myconverter.jar還含有/META-INF/faces-config.xml?我認爲這是必需的,因此您的容器也會掃描JAR文件中的JSF註釋。一個空的faces-config.xml這樣應該可以工作:

<?xml version='1.0' encoding='UTF-8'?> 
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" version="2.0"> 

</faces-config> 
+0

是的!!就在我檢查了這一點 - 它的工作原理:-) – Ralph