quarkus-log4j2-IllegalAccessError-StackLocator

问题描述

我已按照here(“关于Apache log4j的内容”部分)为quarku配置了log4j。 quarkus不能以

开头
2020-08-23 17:07:59,896 ERROR [io.qua.application] (main) Failed to start application (with profile test): java.lang.IllegalAccessError: failed to access class org.apache.logging.log4j.util.StackLocator$FqcnCallerLocator from class org.apache.logging.log4j.util.StackLocator (org.apache.logging.log4j.util.StackLocator$FqcnCallerLocator is in unnamed module of loader 'app'; org.apache.logging.log4j.util.StackLocator is in unnamed module of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @414b2df5)
    at org.apache.logging.log4j.util.StackLocator.<clinit>(StackLocator.java:37)
    at org.apache.logging.log4j.util.StackLocatorUtil.<clinit>(StackLocatorUtil.java:33)
    at org.apache.logging.log4j.spi.AbstractLogger.getLocation(AbstractLogger.java:2209)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
    at org.apache.logging.log4j.spi.AbstractLogger.debug(AbstractLogger.java:327)
...

有什么想法可能有问题吗?我在依赖的Maven模块中经常使用log4j2

修改

这是我pom.xml中的依赖项:

<dependencies>
    <!-- custom dependencies to my own modules -->
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-resteasy-jsonb</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-hibernate-orm</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-jdbc-mysql</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-security-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-smallrye-openapi</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jboss.logmanager</groupId>
        <artifactId>log4j2-jboss-logmanager</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-junit5</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.30.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>2.30.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-binding</artifactId>
        <version>2.30.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-shaded</artifactId>
        <version>3.1.4.Final</version>
        <scope>test</scope>
    </dependency>
</dependencies>

我没有包括对我自己的模块的依赖,因为对于stackoverflow来说,这篇文章已经有很多代码了。希望该片段可以提供有用的信息。

修改2

如果有人感兴趣,我想我可以提供一个漂亮而又小却完整的复制器。请让我知道如何分享该作品。

我进行的另一项观察:我还尝试按照here所述为log4j2添加一个日志适配器。但是,我找不到名为“ log4j2-jboss-logmanager”的非beta工件。有想法吗?

解决方法

这种行为消失了,不知道原因。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...