2013-07-31 33 views
1

我遇到了JSF呈现问题。这里是我的设置:JSF/Spring Security:查看包装器生成LinkageError

  • CentOS的
  • TomEE加1.5.2
  • ICEfaces的
  • 春季安全3

而且我的应用程序设置是这样的:

  • /opt/tomee/lib/[所有普通TomEE罐子]
  • 的/ opt/tomee/lib中/ [所有Spring Security的罐子]
  • /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/web应用/ UI/[正常JSF 2配置]

没有任何OB vious在日志中,但是当JSF企图使我得到以下错误:

 
com/sun/crypto/provider/HmacCore 

viewId=/index.xhtml 
location=/opt/tomee/webapps/UI/index.xhtml 
phaseId=RENDER_RESPONSE(6) 

Caused by: 
java.lang.LinkageError - com/sun/crypto/provider/HmacCore 
at com.sun.crypto.provider.HmacSHA1.(DashA13*..) 

错误页面上的堆栈跟踪是巨大的,所以我不打算在这里倾倒一本小说,但这里的请注意。

 
java.lang.LinkageError: com/sun/crypto/provider/HmacCore 
at com.sun.crypto.provider.HmacSHA1.(DashA13*..) 
{...} 
at java.security.Provider$Service.newInstance(Provider.java:1221) 
{...} 
at org.apache.myfaces.shared.util.StateUtils.encrypt(StateUtils.java:328) 
{...} 
at org.icefaces.impl.renderkit.RenderWrapper.encodeEnd(RenderWrapper.java:53) 
{...} 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

倾我所有的罐子的内容tomee/lib目录,但com.sun.crypto是不是在任何地方,我可以在Web服务器中找到。不使用Spring Security的应用程序工作得很好。

有什么想法?

回答

0

好的。我得到它的工作,所以我要成为'那个人'并回答我自己的问题。我希望它能帮助别人避免它给我的偏头痛。问题走了,我做了以下后:

  1. 删除我的战争
  2. 让Tomcat清理的webapps目录
  3. 停止Tomcat
  4. 删除work
  5. 相关目录添加春季安全taglibs jar到我的应用程序
  6. 从我的applicationSecurity中删除编码器声明。XML
  7. 重建应用
  8. 启动Tomcat
  9. 重新部署
  10. 利润

第10步是不实际的调试过程中的一部分,但我不会抱怨,如果它是。分享并享受。