JSF レンダリングに問題があります。これが私のセットアップです:
- CentOS
- TomEE Plus 1.5.2
- アイスフェイス
- 春のセキュリティ 3
そして、私のアプリは次のように設定されています:
- /opt/tomee/lib/[すべての通常の TomEE jar]
- /opt/tomee/lib/[すべての Spring Security jar]
- /opt/tomee/lib/icefaces.jar
- /opt/tomee/lib/icefaces-compat.jar
- /opt/tomee/lib/icepush.jar
- /opt/tomee/webapps/UI/index.xhtml
- /opt/tomee/webapps/UI/WEB-INF/lib/icefaces-ace.jar
- /opt/tomee/webapps/UI/[通常のjsf2設定]
ログには明らかなものは何もありませんが、JSF がレンダリングしようとすると、次のエラーが発生します。
com/sun/crypto/provider/HmacCore viewId=/index.xhtml location=/opt/tomee/webapps/UI/index.xhtml phaseId=RENDER_RESPONSE(6) のせいで: java.lang.LinkageError - com/sun/crypto/provider/HmacCore com.sun.crypto.provider.HmacSHA1.(DashA13*..) で
エラー ページのスタック トレースは大量なので、ここで小説をダンプするつもりはありませんが、注目すべき呼び出しを次に示します。
java.lang.LinkageError: com/sun/crypto/provider/HmacCore com.sun.crypto.provider.HmacSHA1.(DashA13*..) で {...} java.security.Provider$Service.newInstance(Provider.java:1221) で {...} org.apache.myfaces.shared.util.StateUtils.encrypt (StateUtils.java:328) で {...} org.icefaces.impl.renderkit.RenderWrapper.encodeEnd(RenderWrapper.java:53) で {...} org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) で
すべての jar の内容を tomee/lib にダンプしましたが、com.sun.crypto は Web サーバーのどこにもありません。Spring Security を使用しないアプリは問題なく動作します。
何かご意見は?