找不到hibernate.cfg.xml异常,昨天正在使用configure()

时间:2012-10-21 05:35:53

标签: java hibernate log4j

在ec2上加载一个基于hibernate的runnable 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文件的文件夹的快照。 enter image description here

我正在尝试使用以下代码片段初始化hibernate。它只与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)

3 个答案:

答案 0 :(得分:1)

我无法在这里看到您的根目录。但是如果../mcruiseOn/mcruiseOserver/是root,那么试着把它放在那里。并将其称为“/hibernate.cfg.xml”。你的hibernate xml没有任何问题,除了放置它的路径。

答案 1 :(得分:1)

我建议你这样做:

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

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

答案 2 :(得分:0)

根本原因:当我们从Hibernate 3.5迁移到4.0时,我们不应该从3.5替换jpa库。我使用不正确的log4j也发生了冲突。我不得不使用"正在开发" log4j 1.2.12,而不是1.2.9(稳定)发布,以使这个工作。总而言之,所有升级都是痛苦的,并且会产生各种疯狂的副作用。

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