java - Hibernate 3.x 与 Log4j2 兼容吗?

标签 java hibernate log4j

我有一个使用 Hibernate 3log4j1.x 的应用程序。 我正在尝试将其迁移到 log4j2。 一旦从应用程序中删除 log4j 1.x 依赖项,我就会看到: 运行时错误 - Hibernate 类的 NoClassDefFoundError

一旦我添加回log4j1.x,错误就消失了,一切都工作得很好。

请注意,我在应用程序中没有使用任何对 log4j1.x 的引用。包含它只是为了让 Hibernate 满意。

如果 Hibernate 3 与 Log4j2.x 不兼容,请告诉我。 除了添加 log4j1.x 作为依赖项之外,还有其他解决方法吗?

最佳答案

最好的选择是迁移到 Hibernate 4 或更好的 5,因为 Hibernate 3 非常旧并且不再受支持,这意味着不再有安全更新。

如果你使用 Maven,它应该会自动为你找出你的依赖关系。但是,是的,Hibernate 3 很可能在内部需要 Log4J1 或 commons-logging。了解 Log4J2 太老了。也许拥有带有 Log4J1 适配器的 SLF4J 就足够了。

关于java - Hibernate 3.x 与 Log4j2 兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58593932/

相关文章:

c# - 在 ActiveMQ 中入队和出队时如何编写自定义日志

java - 在 log4j 中为记录器设置不同级别的日志记录

java - 游戏循环中最佳 sleep 时间计算的研究

java - 如何使用 class 属性映射 hibernate 中的类?

java - 如何在提交期间捕获 SQLException?

hibernate - 尝试锁定域对象时出现 StaleObjectStateException

java - 如何在Tomcat中配置另一个log4j配置文件?

Java 在字符串中查找 URL 并创建 HTML 链接标记

java - 3.0 servlet 中的 Log4J2 配置

java - 如何在 Java 中将 json 转换为 ArrayList 对象?