zoukankan      html  css  js  c++  java
  • junit4 --由于日志死循环造成的initializatinError : Method 'initalizationError' not found

     pom文件添加新依赖后,junit启动失败,比较坑爹的是错误堆栈没有任何信息

     这是由于使用了SpringJUnit4ClassRunner,在执行获得logger时,陷入死循环

    日志采用了log4j-over-slf4j实现,在Logger和其父类Category之间循环调用,造成堆栈异常

    死循环,挂了

    解决办法是排除模块中的日志实现模块

                    <dependency>
    				<groupId>com.tyyd</groupId>
    				<artifactId>acws.core</artifactId>
    				<version>1.3.8</version>
    				<exclusions>
    					<exclusion>
    						<groupId>ch.qos.logback</groupId>
    						<artifactId>logback-classic</artifactId>
    					</exclusion>
                            <!-- 将新依赖的日志依赖排除 -->
    					<exclusion>
    					    <groupId>org.slf4j</groupId>
    					    <artifactId>log4j-over-slf4j</artifactId>
    					</exclusion>
                                           
    				</exclusions>
    			</dependency>        
                
    

    重新打包部署,一切恢复正常!

    clean install -DskipTests -Pdev
    

      

    在没用错误堆栈信息的时候,定位错误非常麻烦,可以使用其父类BlockJUnit4ClassRunner,获得错误堆栈,加快错误定位

  • 相关阅读:
    字符串的操作
    vue2.0状态
    vue2.0 Loding组件(收集转载)
    动态加载js文件,并在加载成功后执行回调函数
    Vue2.0 keep-alive 后组件不使用缓存
    前端必要知识汇总
    Vue2.0的群组路由
    video视频限时观看
    iOS军火库-好用的ActionSheetView
    我的网络层是这么设计的
  • 原文地址:https://www.cnblogs.com/caer/p/8717699.html
Copyright © 2011-2022 走看看