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

  • 相关阅读:
    Eclipse中安装Tomcat
    Merge Query
    如何生成Java Key以及sign一个jar
    Create MSSQL Procedure
    MSSQL Procudure Sample
    MSSQL Get Last Monday and Last Sunday
    oracle Data blocks,Extents,Segments
    Oracle Index Clustering Factor(集群因子)
    mapreduce工作原理
    python 实现一个TwoSum的例子
  • 原文地址:https://www.cnblogs.com/caer/p/8717699.html
Copyright © 2011-2022 走看看