2017-07-25 7 views
0

を生成し、ここに私のサーブレットコードのスニペットがCDIは、私は、サーブレットでCDIを使用しようとしていますNullPointerExceptionが

public class MyServlet extends HTTPServlet{ 

    @Inject 
    @Any 
    Instance<MyProcedure> procedures; 

    public void handleRequest(ServletRequest req, ServletResponse res) throws Exception { 

    if (procedures == null) { 
     System.out.println("procedure list is NULL"); 
    } 
    for (Object o : procedures) { 
     System.out.println("calling procedure " + o.toString()); 
    } 
    } 
} 

あるMyProcedureは午前インタフェースであり、appliationのWARはMyProcedureを実装するクラスのカップルが含まれています。

プロシージャのリストがnullであるため、常にNullPointerExceptionが発生します。WEB-INFディレクトリにbeans.xmlファイルがあります。

+0

アプリケーションサーバーとは何ですか?例えば。 Tomcatは箱からCDIをサポートしていません... –

+0

"オブジェクトo"を使って反復すると、赤い旗のように見えます。 isUnSatisfied()プロシージャをチェックしません。また、あなたのverabatim例外を含めてください。 – covener

+0

beans.xmlを表示してください。 – Rouliboy

答えて

0

問題が何かを知りました。私の豆で実装されたインターフェースは、WEB-INF/libのwarアーカイブに含まれなければなりませんでした。私がやった後は、すべてが期待どおりに動作するようになりました。

関連する問題