Websphere 8.5.5.12 - Spring 启动不工作

Websphere 8.5.5.12 - Spring Boot not working

我的 spring 启动应用程序在 tomcat 上运行良好。但是我需要在 IBM Websphere 8.5.5.12 中部署它,然后我的麻烦就开始了。

我参考了 article 并添加了依赖项 'spring-boot-starter-validation' 以避免错误:

Error activating Bean Validation integration Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager

但如果我保留它,我会收到另一个错误

Error 500: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.el.ExpressionFactoryImpl incompatible with javax.el.ExpressionFactory

请注意,在 WAS 上,我已经确保本地 class 加载优先于父加载。 >

In the administrative console, click Applications > >Application Types > WebSphere enterprise applications > >application_name > Manage modules > webmodule_name. Select Classes loaded with local class loader first (parent >last) from the drop down list.

问题已解决!!!

经过多次尝试,我终于使用了,这解决了我的问题:

compile(group: 'javax.el', name: 'javax.el-api', version: '3.0.0')

而不是下面提到的article

compile(group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: '2.2.1.RELEASE')

Websphere 的末日,我对这个问题感到沮丧!

你在 8.5.5.16 上试过吗?如果我尝试它,我会遇到同样的 catch-22 情况。

如果我有它,我会得到 ClassCastException ,如果我删除它,我会得到 NoClassDefFoundError