0

在 ec2 上加载基于休眠的可运行 jar,我突然收到 hibernate.cfg.xml 未找到异常。

233  [main] FATAL com.mcruiseon.server.hibernate.ReadOnlyOperations  - Unable to create SessionFactory for Hibernate
233  [main] FATAL com.mcruiseon.server.hibernate.ReadOnlyOperations  - ./hibernate.cfg.xml not found
234  [main] FATAL com.mcruiseon.server.hibernate.ReadOnlyOperations  - org.hibernate.HibernateException: ./hibernate.cfg.xml not found
org.hibernate.HibernateException: ./hibernate.cfg.xml not found
    at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
    at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1929)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1910)

这是包含 cfg.xml 文件的文件夹的快照。 在此处输入图像描述

我正在尝试使用以下代码片段初始化休眠。它正在与 just 一起工作configure(),由于某种原因它刚刚停止工作。

Configuration configuration = new Configuration().configure("./hibernate.cfg.xml");
sessionFactory = configuration.buildSessionFactory(new ServiceRegistryBuilder().buildServiceRegistry());

编辑:更糟糕的是,我现在开始遇到 log4j 问题。我只是度过了糟糕的一天。

INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@480457
Exception in thread "main" java.lang.NoSuchFieldError: TRACE
    at org.jboss.logging.Log4jLogger.translate(Log4jLogger.java:58)
    at org.jboss.logging.Log4jLogger.isEnabled(Log4jLogger.java:39)
    at org.jboss.logging.Logger.tracev(Logger.java:197)
4

3 回答 3

1

我无法想象你的根目录是什么。但是如果 ../mcruiseOn/mcruiseOserver/ 是根目录,那么请尝试将其放在那里。并将其称为“/hibernate.cfg.xml”。除了放置它的路径之外,您的休眠 xml 没有任何问题。

于 2012-10-21T06:05:38.857 回答
1

我建议这样做:

1) 尝试检查 hibernate.cfg.xml 的系统权限是否具有 rw 权限

2)而是尝试提供可能有帮助的绝对路径。

于 2012-10-21T06:11:14.100 回答
0

根本原因:当我们从 Hibernate 3.5 迁移到 4.0 时,我们不应该从 3.5 替换 jpa 库。我在使用不正确的 log4j 时也发生了冲突。我必须使用“正在开发”的 log4j 1.2.12,而不是 1.2.9(稳定)版本才能使其正常工作。总而言之,升级是痛苦的,并且会产生各种疯狂的副作用。

谢谢@Arham 和@Raunak,你们是最有用的。很好的提示。

于 2012-10-21T08:02:44.960 回答