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,获得错误堆栈,加快错误定位

  • 相关阅读:
    poj2388-Who's in the Middle(排序)
    poj1543-Perfect Cubes(暴力)
    poj1664-放苹果(递归)
    快速幂
    poj2389-Bull Math(大整数乘法)
    HDU2608-0 or 1(数论+找规律)
    poj1131-Octal Fractions(进制转换)
    [noip2011 d1t2]选择客栈
    [周记]8.7~8.16
    [noip2012d1t2] 国王游戏
  • 原文地址:https://www.cnblogs.com/caer/p/8717699.html
Copyright © 2011-2022 走看看