简体   繁体   English

我将 hibernate-validator 升级到版本 6.1.5,应用程序在 WAS 8.5.5.17 上不起作用

[英]I upgraded hibernate-validator to version 6.1.5 and application doesn't work on WAS 8.5.5.17

Beside many components I use my app:除了许多组件之外,我还使用我的应用程序:

  • Spring Framework (version 4.3.20.RELEASE) Spring 框架(版本 4.3.20.RELEASE)
  • Hibernate (version 4.3.11.Final) Hibernate(版本 4.3.11.Final)

I decide to upgrade hibernate-validator component from version 5.4.3.Final to 6.1.5.Final.我决定将 hibernate-validator 组件从版本 5.4.3.Final 升级到 6.1.5.Final。 When I deployed and run my app on WAS I got error: Caused by: java.lang.ClassNotFoundException: javax.el.ELManager .当我在 WAS 上部署并运行我的应用程序时,出现错误: Caused by: java.lang.ClassNotFoundException: javax.el.ELManager On Tomcat 9 everything works fine.在 Tomcat 9 上一切正常。

I found some ideas what to do with that.我发现了一些想法。 First one comes from https://hibernate.org/validator/documentation/getting-started/ .第一个来自https://hibernate.org/validator/documentation/getting-started/ It says:它说:

Hibernate Validator also requires an implementation of the Unified Expression
Language (JSR 341) for evaluating dynamic expressions in constraint violation messages.
For instance, you can add the following dependency to use the JSR 341 reference
implementation:
<dependency>
   <groupId>org.glassfish</groupId>
   <artifactId>javax.el</artifactId>
   <version></version>
</dependency>

Seconde comes from link , and says almost the same: Seconde 来自link ,并且说的几乎相同:

Add:
<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>3.0.0</version>
</dependency>

I implemented both solutions but I get new error when I try to reach login page:我实现了这两种解决方案,但是当我尝试访问登录页面时出现新错误:

2020-07-13T11:54:59,068 ERROR DbLogEntryDao                  - sun.reflect.NativeMethodAccessorImpl.invoke0 (location: NativeMethodAccessorImpl.java:-2) Unexpected error at server dockerhost: [java.lang.Exception [1594641299057] : status code 500 :java.lang.VerifyError: JVMVRFY012 stack shape inconsistent; class=com/ibm/_jsp/_unk_5F_menu, method=_jspx_meth_c_forEach_0(Ljavax/servlet/jsp/tagext/JspTag;Ljavax/servlet/jsp/PageContext;)Z, pc=75; Type Mismatch, argument 1 in signature org/apache/jasper/el/ELContextWrapper.<init>:(Ljavax/el/ELContext;Ljavax/el/FunctionMapper;)V does not match
Exception Details:
  Location:
    com/ibm/_jsp/_unk_5F_menu._jspx_meth_c_forEach_0(Ljavax/servlet/jsp/tagext/JspTag;Ljavax/servlet/jsp/PageContext;)Z @75: JBinvokespecial
  Reason:
    Type 'org/apache/jasper/runtime/ProtectedFunctionMapper' (current frame, stack[8]) is not assignable to 'javax/el/FunctionMapper'
  Current Frame:
    bci: @75
    flags: { }
    locals: { 'com/ibm/_jsp/_unk_5F_menu', 'javax/servlet/jsp/tagext/JspTag', 'javax/servlet/jsp/PageContext', 'javax/servlet/jsp/JspWriter', 'org/apache/taglibs/standard/tag/rt/core/ForEachTag' }
    stack: { 'org/apache/taglibs/standard/tag/rt/core/ForEachTag']
2020-07-13T11:54:59,087 ERROR ErrorPageControllerMIGRATION   - Unexpected error
java.lang.Exception: java.lang.VerifyError: JVMVRFY012 stack shape inconsistent; class=com/ibm/_jsp/_unk_5F_menu, method=_jspx_meth_c_forEach_0(Ljavax/servlet/jsp/tagext/JspTag;Ljavax/servlet/jsp/PageContext;)Z, pc=75; Type Mismatch, argument 1 in signature org/apache/jasper/el/ELContextWrapper.<init>:(Ljavax/el/ELContext;Ljavax/el/FunctionMapper;)V does not match
Exception Details:
  Location:
    com/ibm/_jsp/_unk_5F_menu._jspx_meth_c_forEach_0(Ljavax/servlet/jsp/tagext/JspTag;Ljavax/servlet/jsp/PageContext;)Z @75: JBinvokespecial
  Reason:
    Type 'org/apache/jasper/runtime/ProtectedFunctionMapper' (current frame, stack[8]) is not assignable to 'javax/el/FunctionMapper'
  Current Frame:
    bci: @75
    flags: { }
    locals: { 'com/ibm/_jsp/_unk_5F_menu', 'javax/servlet/jsp/tagext/JspTag', 'javax/servlet/jsp/PageContext', 'javax/servlet/jsp/JspWriter', 'org/apache/taglibs/standard/tag/rt/core/ForEachTag' }
    stack: { 'org/apache/taglibs/standard/tag/rt/core/ForEachTag', 'uninitialized', 'uninitialized', 'java/lang/String', 'javax/el/ExpressionFactory', 'uninitialized', 'uninitialized', 'javax/el/ELContext', 'org/apache/jasper/runtime/ProtectedFunctionMapper' }
  Exception Handler Table:
    bci [113, 149] => handler: 260
    bci [156, 175] => handler: 260
    bci [182, 201] => handler: 260
    bci [208, 253] => handler: 260
    bci [113, 149] => handler: 297
    bci [156, 175] => handler: 297
    bci [182, 201] => handler: 297
    bci [208, 253] => handler: 297
    bci [260, 289] => handler: 297
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1581) ~[com.ibm.ws.webcontainer.jar:?]

Do you have any idaes what can cause that?你有什么科动物会导致这种情况吗? I also found some solution for WAS Libery , but it doesn't apply to me because I use regular WAS.我还为WAS Libery找到了一些解决方案,但它不适用于我,因为我使用常规 WAS。

What about this link:这个链接怎么样:

https://developer.ibm.com/wasdev/downloads/#asset/features-com.ibm.websphere.appserver.el-3.0 https://developer.ibm.com/wasdev/downloads/#asset/features-com.ibm.websphere.appserver.el-3.0

Use the featureManager command, for example:使用 featureManager 命令,例如:

bin/featureManager install el-3.0 --when-file-exists=ignore

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM