0

EJB や FacesConverters/ManagedBeans などのライブラリを使用する JSF 2.0 Web アプリケーションを構築しようとしています。

私の戦争ファイルは次のようになります。

-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

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>
于 2012-06-07T08:26:03.337 に答える