liuqiang 2016-03-24
eclipse下使用hibernate tools实现hibernate逆向工程时候查看Database时报错,错误信息,出现的原因是slf4j冲突,具体的错误如下:
An internal error occurred during: "Fetching children of Database". org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
解决方法:
步骤1:修改eclipse安装目录下的artifacts.xml文件,把id='org.slf4j.api' 的 version改为'1.5.8.v20120130-2120'
<artifact classifier='osgi.bundle' id='org.slf4j.api' version='1.5.8.v20120130-2120'> <properties size='1'> <property name='download.size' value='35173'/> </properties> </artifact>
步骤2:项目如果是使用maven管理的,则把pom.xml中的sl4j版本改为1.5.8的 ,如下:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.8</version> </dependency>
如果直接添加jar文件则把slf4j相关的jar文件替换为1.5.8的即可。
步骤3:重启eclipse