我正在尝试使用 JDK 9 在 WAS1.8 上部署我的 Web 应用程序,但它给出了 CDI 错误
下面是错误
java.lang.RuntimeException: com.ibm.ws.naming.util.CannotBindObjectException: Object 不是任何可以绑定的类型。对象类型为 com.sun.jersey.server.impl.cdi.CDIExtension。 at com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:196(
我从战争中删除了泽西岛 1.X 版本,但仍然有这个错误。
在我的本地,它与 tomcat 配合良好,并且相同的其他应用程序在 WAS 8 中运行良好
我在泽西 1.9 上遇到了同样的问题。 它在 WAS 8 中工作正常,但在 WAS 9 中不能正常工作。 解决方案是将此参数添加到 WebSphere 的通用 JVM 参数中。
-Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
此设置有点埋没了管理控制台。 IBM 的说明解释了如何访问各种类型的它。
应用服务器
- 在管理控制台中,选择服务器
- 展开服务器类型并选择 WebSphere 应用程序服务器
- 单击您的服务器名称
- 展开 Java 和进程管理,然后选择进程定义。
- 在"其他属性"部分下,单击"Java 虚拟机"。
- 向下滚动并找到泛型 JVM 参数的文本框。