Glassfish服务器启动时出现异常

时间:2018-05-02 16:20:50

标签: java eclipse glassfish

为什么每次在控制台中启动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 :(得分:4)

您正在使用多发行jar格式的log4j2 2.9(或更高版本),并且包含java9特定的.class文件(如提到的META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class),glassfish 4.1中包含的旧asm库无法理解。 尝试切换到log4j2 2.8

相关问题