读书人

slf4j jar包冲突和spring的bean解析错

发布时间: 2012-12-21 12:03:49 作者: rapoo

slf4j jar包冲突和spring的bean解析异常

由于种种原因,项目的结构被调整成了ant+maven共同管控的样子(真的好挫slf4j jar包冲突和spring的bean解析错误

于是,一个最基本的问题来了,之前写的UT没法跑了。

首先爆出来的是slf4j的问题:

?

到依赖的classpath里面一find,发现下面至少有1.4.3、1.5.10、1.5.6、1.6.1几个版本的slf4j的jar包共存。。。

处理方案:

全部干掉,仅保留一套最slf4j组件,即:留个接口包:?slf4j-api,留个实现包:slf4j-log4j12。

?

一位搞定这个问题了,结果spring的bean解析又出问题了。。。

?

3、Use the Services API (as detailed in the JAR specification), if?available, to determine the classname. The Services API will look?for a classname in the file “META-INF/services/javax.xml.parsers.DocumentBuilderFactory"??in jars available to the runtime.

4、Platform default "DocumentBuilderFactory" instance,也就是类com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl。

我采用了一种简单的方式,在jvm的启动参数中加上下面的参数明确制定要用哪个实现类。

?

-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
?

?

读书人网 >编程

热点推荐