我仅仅是在Junit代码中执行了如下一行代码,竟然抛出了异常,我震惊了, 我只是构造了一个对象啊
DefaultHttpClient client = new DefaultHttpClient();
于是我跟踪该构造函数,最后发现是在如下代码处抛出的异常:
private final Log log = LogFactory.getLog(getClass());
异常信息如下:
在targetd exception的发现如下信息:
java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
分析原因:
原因已经很明显,是jar包冲突引起的,应该是jvm在加载的