【问题标题】:MyFaces 1.2.8 causes Tomcat 6 to crash on deploymentMyFaces 1.2.8 导致 Tomcat 6 在部署时崩溃
【发布时间】:2011-01-23 21:42:27
【问题描述】:

我有一个使用 MyFaces 1.2.8、Facelets 1.1.14 构建的 JSF 应用程序,并通过它在 Eclipse Ganymede 中的插件使用 Tomcat 6 构建它。

我刚刚安装了上述库的最新版本,并且在构建时,应用程序部署正常,服务器开始启动,我立即得到以下信息:

javax.servlet.ServletException: javax.crypto.BadPaddingException: Given final block not properly padded

谷歌搜索这个指向this页面,其结果是使用这个禁用MyFaces和Facelets的错误处理

    <context-param>
  <param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
  <param-value>false</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>false</param-value>
 </context-param>
 <error-page>
  <exception-type>javax.servlet.ServletException</exception-type>
  <location>/error.jsp</location>
 </error-page> 

最重要的是使用这个:

org.apache.myfaces.USE_ENCRYPTION

设置为假。我不想这样做,但没有其他有用的信息。有没有人知道这个问题是否有解决方法?我最近才从 mojarra 迁移过来,我不想回去。

我们认为降级 MyFaces 会起作用吗?我要试试。

感谢 IA。

【问题讨论】:

  • 它总是给出这个例外吗?或仅在您第一次打开页面时
  • 我估计可能 >75% 的时间。不久之前,为了整理我的工作,我关闭了客户端加密,但显然我不想这样。
  • 只是好奇:你们为什么用 MyFaces 替换 Mojarra?
  • 从内存中,当您重新启动 Tomcat 服务器时,有时会出现 BadPaddingException。我想这与会话不再有效有关。
  • @James P. 这也是我读过的。加密密钥正在重新发布,因此不一样。现在这对我没有好处,因为我可能需要随时在开发和测试中重新启动服务器。

标签: tomcat jsf servlets myfaces


【解决方案1】:

在四处寻找之后,我自己的建议是在这种情况下停止使用 MyFaces,安装正确的 Mojarra 运行时以支持您正在做的项目,确保您正确安装了所有 jars(我没有安装),仔细检查您的 facelets 配置并阅读手册。使用不同的 JSF 实现是一种解决方法,但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2017-08-22
    • 1970-01-01
    • 2014-07-10
    • 2012-10-09
    • 1970-01-01
    相关资源
    最近更新 更多