无法启用spring框架的日志记录

2023-11-30

我想在Spring框架和Spring Security中配置日志记录,然后按照这个http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/overview.html#overview-not-using-commons-logging

但是当我加载Tomcat时,我遇到了这个问题:

GRAVE:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RH-Explore]] 在 java.util.concurrent.FutureTask.report(来源未知) java.util.concurrent.FutureTask.get(来源未知)位于 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 在 java.util.concurrent.FutureTask.run(来源未知) java.util.concurrent.ThreadPoolExecutor.runWorker(来源未知)位于 java.util.concurrent.ThreadPoolExecutor$Worker.run(来源未知) java.lang.Thread.run(来源不明) 原因: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RH-Explore]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 6 更多

引起原因:java.lang.NoClassDefFoundError: org/springframework/core/io/资源位于 java.lang.Class.getDeclaredFields0(本机方法) at java.lang.Class.privateGetDeclaredFields(来源未知)位于 java.lang.Class.getDeclaredFields(来源未知)位于 org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) 在 org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270) 在 org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:89) 在 org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:63) 在 org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5412) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 更多

pom.xml

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
            <scope>runtime</scope>
              <exclusions>
                 <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
              </exclusions>
        </dependency>

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
            <scope>runtime</scope>
              <exclusions>
                 <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
              </exclusions>
        </dependency>

<dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>${spring.security.version}</version>
            <scope>runtime</scope>
            <exclusions>
                 <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

<dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
          <version>1.5.8</version>
          <scope>runtime</scope>
       </dependency>
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.5.8</version>
          <scope>runtime</scope>
       </dependency>
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>1.5.8</version>
          <scope>runtime</scope>
       </dependency>
       <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.14</version>
          <scope>runtime</scope>
       </dependency> 

我解决了问题!!

首先,这个错误:

GRAVE:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RH-Explore]]

是部署问题,所以我对项目进行了清理,然后收到此错误:

Grave:初始化环境中的异常 (上下文初始化)à l'instance de classe d'écoute(侦听器) org.springframework.web.context.ContextLoaderListener java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

这个错误是兼容性问题SLF4J,所以我改变了版本1.5.8 to 1.7.12我还发现了一些重复的SLF4J包应该从pom.xml因为这个错误而罐子:

SLF4J:类路径包含多个 SLF4J 绑定。

另外,启动 tomcat 时控制台中出现此错误:

INFOS:在类路径上未检测到 Spring WebApplicationInitializer 类型

这是一个问题servlet-api,我用的版本2.5所以为了解决这个问题我改变了版本3.0.1

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
</dependency>

所有问题都消失了,春季日志记录工作正常:D

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法启用spring框架的日志记录 的相关文章

随机推荐

  • 给类点击事件C#

    嗨 我只是想知道是否有一种方法可以为班级提供自己的点击事件 例如 我有一个卡片类 有没有办法知道用户何时单击该类中的矩形 显示卡片的图片 或者更好的是 我如何知道何时单击卡片矩形 要从 Windows 获取 鼠标已单击此处 消息 您需要有一
  • JTextArea 不动态更新

    我在一个类中有一个 JTextArea 我想动态更新它 目前它只显示我在所有处理完成后附加到它的文本 我尝试执行以下操作来修复它 public NewConsole initComponents public void write fina
  • 如何使用videoview流畅地播放url中的视频?

    我有一项活动VideoView 它正在播放来自 url 的视频 我所做的就是为了玩得顺利 我已经放了一个ProgressDialog在活动开始时 并在里面驳回它onPreparedListener这样才能玩得又好又流畅 但仍然没有帮助 视频
  • android - 如何使按钮闪烁?

    有没有什么方法 在代码中 使按钮持续闪烁 然后在按下时停止闪烁 有几种 具体取决于您所指的闪烁类型 例如 您可以使用 alpha 动画并在按钮第一次出现时启动它 当用户单击按钮时 在您的OnClickListener做就是了clearAni
  • 将围绕 sockaddr_storage 和 sockaddr_in 进行转换,打破严格的别名

    继我之前的question 我真的很好奇这段代码 case AF INET struct sockaddr in tmp reinterpret cast
  • 将原始 HTTP 请求转换为 HTTPWebRequest 对象

    在 NET 中 是否可以将原始 HTTP 请求转换为 HTTPWebRequest 对象 我确信 NET 内部正在这样做 知道 NET 的哪一部分实际上在处理这个问题吗 我可以调用它吗 或者是否有任何允许原始 HTTP 连接的外部库 我不相
  • dart 中的转义“正则表达式”

    我正在尝试捕获 dart 正则表达式中的符号 我的正则表达式如下所示 RegExp containsSymbolRegExp RegExp r lt gt 但是 我还需要让它捕获符号 但我不能把 放在那里 因为它会弄乱字符串 有什么想法如何
  • 如何比较数组中的日期以找到最早的日期?

    我有一个名为 dateArray 的变量 其中包含日期 例如 09 09 2009 16 07 2010 29 01 2001 我想用 for 循环找到最早的一个 所以结果是 29 01 2001 or dateArray 2 语言是jav
  • 选择窗口无法选择子窗口

    在我的 Java 代码中 单击 编辑描述 链接后 将打开一个窗口 即 Java 脚本窗口 此处的图像第一个给出带有属性的锚标记 第二个打开窗口 Image 1 Image 2 Window image Along with Page Sou
  • 在Python中将字符串二维列表转换回二维列表[重复]

    这个问题在这里已经有答案了 我刚刚开始玩Python 我知道我们可以使用 str 将任何列表转换为字符串 喜欢 gt gt gt l 1 1 2 2 3 3 gt gt gt l 1 1 2 2 3 3 gt gt gt type l
  • 太多的回溯:为什么这里有“重做”?

    我正在 Prolog 中做一个非常简单的练习 但跟踪中有些东西我不明白 该程序是一个 大于 gt 对表示为后继的整数 greater than succ 0 greater than succ A succ B greater than A
  • 如何清除p:dataTable中的所有输入字段?

    我将 JSF 2 0 与 PrimeFaces 一起使用 我有一个
  • CSS 位置 - 顶部 100% 不等于底部 0

    我在分配时注意到了这一点fixed定位到 css3 动画的元素 即top 100 没有得到相同的效果bottom 0 它定位文档外部的元素 而bottom 0 仍然显示整个元素 JSFiddle演示 css位置有相反的吗top 0 这会自动
  • Yocto 中支持 PHP 的 Apache2

    我正在使用 Yocto 创建一个包含 apache2 的构建 但我很难添加 php 支持 我之前运行过它 阅读 去年 但从那时起 meta openembedded 中的meta webserver 层发生了变化 来自元网络服务器中的自述文
  • 将外部 javascript 导入到 google apps 脚本 [重复]

    这个问题在这里已经有答案了 我正在尝试从 Google 电子表格 Google 文档 使用 Trello 但不确定如何导入 引用 链接使用其库所需的 javascript 文件 我唯一的其他选择是直接使用他们的 REST API 很好 但我
  • 如何在Tensorflow中将字符串张量转换为Python字符串?

    以下代码是批量数据提供程序 mat文件 但运行时出现以下问题 TypeError expected str bytes or os PathLike object not FIFOQueue 代码是 import numpy as np i
  • 强制绑定DataGridView生成列和行

    我以编程方式创建一个 DataGridView 对象 然后使用网格的 DataSource 属性将其绑定到 DataTable 创建网格后 我将其添加到 WinForms 的控件集合中 即 Form1 Controls Add grid 我
  • 银行式导航限制

    某些网络应用程序 尤其是银行网站 会阻止您使用浏览器的导航按钮 在新选项卡中打开链接甚至刷新页面 通常他们会警告您不要这样做 甚至终止会话 迫使您再次登录 他们是否遵循特定的架构模式来实现这一目标 他们的目标是什么 这如何提高安全性 他们可
  • 桌面 SWING 应用程序上的 jpa

    我正在使用 SWING 开发一个单用户桌面应用程序 我对这种使用 java sql api 的应用程序有一点经验 并发现它一点也不舒服 在我的新应用程序中 我第一次尝试使用 JPA 我阅读了很多教程 这些教程使我几乎了解了我需要的所有内容
  • 无法启用spring框架的日志记录

    我想在Spring框架和Spring Security中配置日志记录 然后按照这个http docs spring io spring docs 3 2 x spring framework reference html overview