当前位置: 首页 > 知识库问答 >
问题:

如何修复此SLF4J错误

景令秋
2023-03-14

我正在编程一个需要Hibernate技术的项目。我得到了堆栈痕迹,但我不知道如何修复它。有什么需要帮忙的吗?

这是我的堆栈跟踪,我得到了这两个错误:

SLF4J:slf4j-api 1.6.x(或更高版本)与此绑定不兼容。SLF4J:您的绑定是1.5.5或更早版本。SLF4J:将绑定升级到1.6.x版本。或2.0.x

导入org.hibernate.hibernateException;导入org.hibernate.session;导入org.hibernate.sessionFactory;导入org.hibernate.cfg.AnnotationConfiguration;

公共类HibernateUtils{private static final SessionFactory SessionFactory;

//crée une unique instance de la SessionFactoryàpartir de//hibernate.cfg.xml static{try{SessionFactory=new AnnotationConfiguration().configure().buildSessionFactory();}catch(HibernateException ex){throw new RuntimeException(“problème de configuration:”+ex.getMessage(),ex);}}

//Renvoie une session Hibernate public static session getSession()抛出HibernateException{return SessionFactory.OpenSession();}}

此错误从以下行触发:

s = HibernateUtils.getSession();

hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>

      <property name="connection.driver_class">org.postgresql.Driver</property>
      <property name="connection.url">jdbc:postgresql://localhost:5432/projetForum</property>
      <property name="connection.username">postgres</property>
      <property name="connection.password">esct</property>
      <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

      <!-- Comportement pour la conservation des tables -->
      <property name="hbm2ddl.auto">update</property>

      <!-- Activation : affichage en console, commentées et formatées -->
      <property name="show_sql">true</property>
      <property name="hibernate.format_sql">true</property>
      <property name="use_sql_comments">true</property>

      <!-- Fichiers à mapper -->
      <mapping class="com.forum.beans.Utilisateur" />
      <mapping class="com.forum.beans.Topic" />

  </session-factory>
</hibernate-configuration>

共有1个答案

佴阳曦
2023-03-14

根据您的库列表,您的slf4j-api来自hibernate-distributation,而slf4j-log4j12来自hibernate-annotations。由于slf4j报告了api和绑定(slf4j-log4j12)之间的版本不匹配,我假设您混合了不兼容的hibernate库。对于Hibernate3,有一个兼容性矩阵告诉您不同包的哪个版本可以一起使用:https://community.jboss.org/wiki/HibernateCompatibilityMatrix

或者,您可以在构建工具中覆盖slf4j-api或slf4j-log4j12包的版本(假设您使用一个包),并确保它们具有相同的版本。例如,如果您使用slf4j-api 1.6.1,您应该确保slf4j-log4j12库也是版本1.6.1的。

 类似资料:
  • 我试图做Java本地接口,这是使用gcc编译c文件和Java代码是 如何修复输出NaN

  • 我开始了一个新的项目,并把火基地云: 这个错误出现了: 警告:API的变体。getJavaCompile()已过时,已替换为“variant”。getJavaCompileProvider()。它将于2019年底拆除。有关详细信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance.确定什么是调用变量。getJavaCompi

  • 我发现了一个mysql创建表语法错误,希望有人能在我失去理智之前发现它。 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解在第2行“int not null auto_increment,Client_ID int not null,Start_Time varchar(5),star”附近使用的正确语法 mysql Ver 14.14

  • 我怎么解决这个问题? http://localhost:3000/favicon.ico404(未找到) 服务器有此错误消息: 找不到404错误:在D:\nodetour\app中找不到。第二层的js:82:13。句柄[作为句柄\u请求](D:\nodetour\node\u modules\express\lib\router\layer.js:95:5)位于trim\u前缀(D:\nodeto

  • ProjectAAA.obj:错误LNK2001:未解析的外部符号" public:_ this call X::class event::class event(unsigned int)"(??0类事件@X@@QAE@I@Z) 我已经定义了不知道如何修复这个LINK错误。 欢迎提出任何建议。 谢谢你 更多信息: 1. 现在我已经完全隔离了错误: 1.