Ошибка при попытке открыть входной поток при попытке использовать Netty на сервере IBM WAS
Я пытаюсь использовать нетти баночки, как часть напористой библиотеки ( https://github.com/relayrides/pushy) для отправки push-уведомлений Apple. Он отлично работает в моем местном коте. Когда я пытаюсь развернуть то же самое в IBM WAS и запустить свой сервер, это дает мне следующее исключение.
com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR не может открыть поток ввода для ресурса io/netty/util/internal/shaded/org/jctools/queues/package-info.class в архиве WEB-INF/ Lib / Нетти-синфазного 4.1.16.Final.jar
Пожалуйста, найдите ниже версии, которые я использую.
WAS - 8.5.5 Java - 1,7 Netty - 4.1.16
Просьба помочь мне понять причину проблемы и как исправить то же самое. Благодарю.
1 ответ
Глядя на "netty-common-4.1.16.Final.jar" из
https://mvnrepository.com/artifact/io.netty/netty-common/4.1.16.Final
Я вижу этот ресурс:
Нетти-синфазного 4.1.16.Final.jar/ И.О. / Нетти / Util / внутренний / затененные / орг /jctools/ Очереди / пакет-info.class
Это было скомпилировано с использованием компилятора java8. Это кажется неправильным - ни один из других ресурсов класса JAR не скомпилирован с использованием java8.
Данные (внутренний формат отчетности) для "пакета-информации":
/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, если не будет достаточно высокого уровня обслуживания (8.5.5.9 и выше). Или попробуйте более высокий уровень обслуживания WebSphere.