【问题标题】:Struts2 Error when Deploying java.lang.NoSuchMethodError: 'java.lang.String org.apache.logging.log4j.util.PropertiesUtil.getStringProperty部署 java.lang.NoSuchMethodError 时出现 Struts2 错误:'java.lang.String org.apache.logging.log4j.util.PropertiesUtil.getStringProperty
【发布时间】:2021-10-06 00:26:17
【问题描述】:

我正在创建一个基本的 Struts2 webApp,并在部署到 Tomcat 10 时出现此错误。有人见过吗?

我该如何解决这个问题?

java.lang.NoSuchMethodError: 'java.lang.String org.apache.logging.log4j.util.PropertiesUtil.getStringProperty(java.lang.String[], java.lang.String, org.apache.logging.log4j.util.Supplier)'
    at org.apache.logging.log4j.core.util.BasicAuthorizationProvider.<init>(BasicAuthorizationProvider.java:43)
    at org.apache.logging.log4j.core.config.ConfigurationFactory.authorizationProvider(ConfigurationFactory.java:215)
    at org.apache.logging.log4j.core.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:188)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:696)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
    at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)

web.xml & struct.xml

<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:javaee="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="WebApp_ID" version="2.5">
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="default" extends="struts-default">
        <action name="myurl" class="com.pro.basics.myActionClass">
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>

【问题讨论】:

  • 您使用的是哪个 log4j 版本?
  • log4j-api-2.12.1 和 log4j-core-2.14.1
  • 您需要使用与这些工件完全相同的版本。
  • 它应该与this 问题重复,但不能这样,因为这个问题没有被赞成或接受的答案:(

标签: java eclipse tomcat jar struts


【解决方案1】:

使用相同版本的log4j-apilog4j-core

【讨论】:

    猜你喜欢
    • 2020-08-25
    • 2018-12-07
    • 1970-01-01
    • 2021-11-25
    • 2022-01-09
    • 2011-09-05
    • 2015-08-07
    • 2014-11-12
    • 1970-01-01
    相关资源
    最近更新 更多