Hibernate 3.x 与 Log4j2 兼容吗?

Is Hibernate 3.x compatible with Log4j2?

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

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

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

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

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

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