Am trying to use netty jars, as part of pushy library(https://github.com/relayrides/pushy) to send apple push notifications. It runs fine in my local tomcat. When I try to deploy the same on IBM WAS and start my server, it gives me the below exception.
com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR unable to open input stream for resource io/netty/util/internal/shaded/org/jctools/queues/package-info.class in archive WEB-INF/lib/netty-common-4.1.16.Final.jar
Pls find below the versions am using.
WAS - 8.5.5 Java - 1.7 Netty - 4.1.16
Pls help me understand the cause for the issue and how to fix the same. Thanks.
Looking at "netty-common-4.1.16.Final.jar" from
https://mvnrepository.com/artifact/io.netty/netty-common/4.1.16.Final
I'm seeing this resource:
netty-common-4.1.16.Final.jar/io/netty/util/internal/shaded/org/jctools/queues/package-info.class
That has been compiled using a java8 compiler. That seems incorrect -- none of the other class resources of the JAR are compiled using java8.
Data (internal reporting format) for "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 )
The same data, for example, for "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 )
Can you try rerunning with that one resource removed? (Or, rebuilt to not use java8?) IBM WebSphere won't process java8 classes unless at a high enough service level (8.5.5.9 and higher). Or, try on a higher service level of WebSphere.