我遇到了 JSF 渲染问题。这是我的设置:
- 中央操作系统
- TomEE Plus 1.5.2
- 冰面
- 弹簧安全 3
我的应用程序是这样设置的:
- /opt/tomee/lib/[所有普通的 TomEE jars]
- /opt/tomee/lib/[所有 Spring Security jars]
- /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/[正常的jsf 2配置]
日志中没有任何明显的内容,但是当 JSF 尝试渲染时,我收到以下错误:
com/sun/crypto/provider/HmacCore viewId=/index.xhtml 位置=/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 的应用程序工作得很好。
有什么想法吗?