首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载hibernate.cfg.xml

无法加载hibernate.cfg.xml
EN

Stack Overflow用户
提问于 2015-05-28 13:56:56
回答 3查看 1.6K关注 0票数 0

我正在学习hibernate教程,并面临着这个问题。这是我的密码

代码语言:javascript
复制
public class HibernateTest {
    public static void main(String[] args) {
        System.out.println(args[0]);
        User user = new User();
        user.setId(1);
        user.setName("John Smith");
        SessionFactory sessionFactory = createSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();
    }

    public static SessionFactory createSessionFactory() {
        Configuration configuration = new Configuration();
        configuration.configure();
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
                configuration.getProperties()).build();
        return configuration.buildSessionFactory(serviceRegistry);
    }
}

这是我的项目结构。

但我有个例外,说

代码语言:javascript
复制
Exception in thread "main" 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:2095)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2076)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2056)
    at HibernateTest.createSessionFactory(HibernateTest.java:25)
    at HibernateTest.main(HibernateTest.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-28 14:00:54

从错误中可以明显看出,hibernate.cfg.xml文件不在CLASSPATH中。

代码语言:javascript
复制
Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found

要将文件保存在CLASSPATH中,可以将其移动到/src/main/resources (或)将文件的当前位置放在CLASSPATH中。

票数 1
EN

Stack Overflow用户

发布于 2015-05-28 13:58:32

将文件移到src/main/resources中,在构建时将其复制到类路径中。

票数 2
EN

Stack Overflow用户

发布于 2015-05-28 14:00:39

hibernate.cfg.xml必须在类路径上。这样的文件被认为是一种资源,应该放在src/main/resources下,构建工具将它放在classes文件夹中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30508702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档