Исключение при запуске сервера Glassfish - PullRequest
0 голосов
/ 02 мая 2018

Почему я получаю эти сообщения каждый раз, когда запускаю GlassFish 4.1 в своей консоли. Моя IDE - это Eclipse Oxygen. Мой JDK - это Java 8?

2018-05-01T23:39:53.272+0000|Grave: Exception while visiting META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class of size 7264
java.lang.IllegalArgumentException
    at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
    at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
    at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:424)
    at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:358)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:165)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:127)
    at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:344)
    at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:67)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:303)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:292)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

1 Ответ

0 голосов
/ 02 мая 2018

Вы используете log4j2 2.9 (или более позднюю версию), который имеет формат jar для нескольких выпусков и содержит специфичные для java 9 файлы .class (например, упомянутый META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class), которые старая библиотека asm, включенная в glassfish 4.1, не может понять. Попробуйте перейти на log4j2 2.8

...