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

  • 相关阅读:
    MySQL主从复制集群添加slave节点
    GTID主从 与 传统主从复制
    20201207总结
    202011051 每周例行报告
    202011121 每周例行报告
    202010081 每周例行报告
    202011261 每周例行报告
    202010153 每周例行报告
    202010291 每周例行报告
    202011201 每周例行报告
  • 原文地址:https://www.cnblogs.com/caer/p/8717699.html
Copyright © 2011-2022 走看看