尝试在 IBM WAS 服务器中使用 Netty 时出现无法打开输入流错误
Getting unable to open input stream error when trying to use Netty in IBM WAS server
我正在尝试使用 netty jar 作为 pushy library(https://github.com/relayrides/pushy) 的一部分来发送 apple 推送通知。它在我的本地 tomcat 中运行良好。当我尝试在 IBM WAS 上部署它并启动我的服务器时,出现以下异常。
com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR 无法打开存档 WEB-INF/lib/netty-common-4.class 中资源 io/netty/util/internal/shaded/org/jctools/queues/package-info.class 的输入流 WEB-INF/lib/netty-common-4.1.16.Final.jar
请在下面找到我正在使用的版本。
WAS - 8.5.5
Java - 1.7
网络 - 4.1.16
请帮助我了解问题的原因以及解决方法。谢谢
从
看"netty-common-4.1.16.Final.jar"
https://mvnrepository.com/artifact/io.netty/netty-common/4.1.16.Final
我正在查看此资源:
netty-common-4.1.16.Final.jar/io/netty/util/internal/shaded/org/jctools/queues/package-info.class
已使用 java8 编译器编译。这似乎不正确——JAR 的其他 class 资源中的 none 是使用 java8.
编译的
"package-info"的数据(内部报告格式):
/netty-common-4.1.16.Final.jar/io/netty/util/internal/shaded/org/jctools/queues/package-info.class
interface synthetic io.netty.util.internal.shaded.org.jctools.queues.package-info
extends java.lang.Object
Version [ 0x34 0x00 ] ( J2SE 8 )
相同的数据,例如 "Log4JLoggerFactory":
/netty-common-4.1.16.Final.jar/io/netty/util/internal/logging/Log4JLoggerFactory.class
public io.netty.util.internal.logging.Log4JLoggerFactory
extends io.netty.util.internal.logging.InternalLoggerFactory
Version [ 0x32 0x00 ] ( J2SE 6.0 )
[F] public static final INSTANCE : [ Lio/netty/util/internal/logging/InternalLoggerFactory; ]
[M] public deprecated <init> : [ ()V ] ( void )
@java.lang.Deprecated
[M] public newInstance : [ (Ljava/lang/String;)Lio/netty/util/internal/logging/InternalLogger; ]
[M] static <clinit> : [ ()V ] ( void )
你能尝试在删除那个资源的情况下重新运行吗? (或者,重建为不使用 java8?)IBM WebSphere 不会处理 java8 classes,除非处于足够高的服务级别(8.5.5.9 和更高版本)。或者,尝试更高服务级别的 WebSphere。
我正在尝试使用 netty jar 作为 pushy library(https://github.com/relayrides/pushy) 的一部分来发送 apple 推送通知。它在我的本地 tomcat 中运行良好。当我尝试在 IBM WAS 上部署它并启动我的服务器时,出现以下异常。
com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR 无法打开存档 WEB-INF/lib/netty-common-4.class 中资源 io/netty/util/internal/shaded/org/jctools/queues/package-info.class 的输入流 WEB-INF/lib/netty-common-4.1.16.Final.jar
请在下面找到我正在使用的版本。
WAS - 8.5.5 Java - 1.7 网络 - 4.1.16
请帮助我了解问题的原因以及解决方法。谢谢
从
看"netty-common-4.1.16.Final.jar"https://mvnrepository.com/artifact/io.netty/netty-common/4.1.16.Final
我正在查看此资源:
netty-common-4.1.16.Final.jar/io/netty/util/internal/shaded/org/jctools/queues/package-info.class
已使用 java8 编译器编译。这似乎不正确——JAR 的其他 class 资源中的 none 是使用 java8.
编译的"package-info"的数据(内部报告格式):
/netty-common-4.1.16.Final.jar/io/netty/util/internal/shaded/org/jctools/queues/package-info.class
interface synthetic io.netty.util.internal.shaded.org.jctools.queues.package-info
extends java.lang.Object
Version [ 0x34 0x00 ] ( J2SE 8 )
相同的数据,例如 "Log4JLoggerFactory":
/netty-common-4.1.16.Final.jar/io/netty/util/internal/logging/Log4JLoggerFactory.class
public io.netty.util.internal.logging.Log4JLoggerFactory
extends io.netty.util.internal.logging.InternalLoggerFactory
Version [ 0x32 0x00 ] ( J2SE 6.0 )
[F] public static final INSTANCE : [ Lio/netty/util/internal/logging/InternalLoggerFactory; ]
[M] public deprecated <init> : [ ()V ] ( void )
@java.lang.Deprecated
[M] public newInstance : [ (Ljava/lang/String;)Lio/netty/util/internal/logging/InternalLogger; ]
[M] static <clinit> : [ ()V ] ( void )
你能尝试在删除那个资源的情况下重新运行吗? (或者,重建为不使用 java8?)IBM WebSphere 不会处理 java8 classes,除非处于足够高的服务级别(8.5.5.9 和更高版本)。或者,尝试更高服务级别的 WebSphere。