Could not initialize class org.apache.log4j.Log4jLoggerFactory

774 ワード

最近ドッキングmns時プロンプト:
 Could not initialize class org.apache.log4j.Log4jLoggerFactory
最後にコードを追跡し、発見:com.aliyun.mns.client.Utilsクラスはロードできません.コードの場所を間違えました.
com.aliyun.mns.client.Utilsクラス:public static Logger=Logger.getLogger(Utils.class);
理由:本プロジェクトではslf 4 j-log 4 j 12とaliyunを参照するためである.mnsはlog 4 j衝突を参照する(2つは循環依存性があり、同パケットの下で共存することはできない.具体的にはslf 4 j,log 4 jを理解できる)
解決:本プロジェクトのslf 4 j-log 4 j 12参照を除外します.
例えば、私のプロジェクトではnet.sf.dozerにはslf 4 j-log 4 j 12参照があり、除外->

    net.sf.dozer
    dozer
    
        
            slf4j-log4j12
            org.slf4j