Struts2 log4j2面临问题:java.lang.ExceptionInInitializeError

Struts2 log4j2面临问题:java.lang.ExceptionInInitializeError,struts2,log4j2,Struts2,Log4j2,我面临log4j2的问题 下面是我的log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/

我面临log4j2的问题

下面是我的log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.opensymphony.xwork2" level="info"/>
        <Logger name="org.apache.struts2" level="info"/>
        <Root level="info">
            <AppenderRef ref="STDOUT"/>
        </Root>
    </Loggers>
</Configuration>

我需要更正什么?

尝试将log4j-api-2.10.0.jar升级到2.11.0

IllegalArgumentException
org.apache.logging.log4j.util.SortedArrayStringMap
的构造函数中抛出:

public SortedArrayStringMap(final int initialCapacity) {
    if (initialCapacity < 1) {
        throw new IllegalArgumentException("Initial capacity must be at least one but was " + initialCapacity);
    }
    threshold = ceilingNextPowerOfTwo(initialCapacity);
}
public-sortedDarrayStringMap(最终初始容量){
如果(初始容量<1){
抛出新的IllegalArgumentException(“初始容量必须至少为一个,但为”+初始容量);
}
阈值=ceilingNextPowerOfTwo(初始容量);
}
自2.11起,给定参数
初始容量
已更改如下:


尝试将log4j-api-2.10.0.jar升级到2.11.0

IllegalArgumentException
org.apache.logging.log4j.util.SortedArrayStringMap
的构造函数中抛出:

public SortedArrayStringMap(final int initialCapacity) {
    if (initialCapacity < 1) {
        throw new IllegalArgumentException("Initial capacity must be at least one but was " + initialCapacity);
    }
    threshold = ceilingNextPowerOfTwo(initialCapacity);
}
public-sortedDarrayStringMap(最终初始容量){
如果(初始容量<1){
抛出新的IllegalArgumentException(“初始容量必须至少为一个,但为”+初始容量);
}
阈值=ceilingNextPowerOfTwo(初始容量);
}
自2.11起,给定参数
初始容量
已更改如下:


将log4japi和log4j内核从2.11.1更新到2.12.0,为我解决了同样的问题

将log4japi和log4j核心从2.11.1更新到2.12.0,为我解决了同样的问题

这个答案很接近,但我认为是倒过来的,2.10的初始容量是1,其中2.11是0,到2.10我就解决了这个问题。是的,我用的是2.11.0,面临着同样的问题。移动到2.10.0版本,修复了我的问题。谢谢。2.11.2也有同样的问题。这个答案很接近,但我认为是反向的,2.10的初始容量是1,其中2.11是0,到2.10为我解决了它。是的,我使用了2.11.0,面临着同样的问题。移动到2.10.0版本,修复了我的问题。谢谢。2.11.2也有同样的问题。
public SortedArrayStringMap(final int initialCapacity) {
    if (initialCapacity < 1) {
        throw new IllegalArgumentException("Initial capacity must be at least one but was " + initialCapacity);
    }
    threshold = ceilingNextPowerOfTwo(initialCapacity);
}