Hibernate ConfigurationException:找不到cfg.xml资源[hibernate.cfg.xml] IntelliJ [英] Hibernate ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml] IntelliJ

查看:468
本文介绍了Hibernate ConfigurationException:找不到cfg.xml资源[hibernate.cfg.xml] IntelliJ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的IntelliJ IDE中的 hibernate.cfg.xml 有问题。

I have a problem with my hibernate.cfg.xml in IntelliJ IDE.

这是我的hibernate配置文件:

Here is my hibernate config file:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC 
        "-//Hibernate/Hibernate Configuration DTD//EN" 
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration>
    <session-factory>
       <!--  Database connection settings -->
       <property name="connection.driver:class">org.postgresql.Driver</property>
       <property name="connection.url">jdbc:postgresql://localhost/HIndex</property>
       <property name="hibernate.connection.username">index_user</property>
       <property name="hibernate.connection.password">password</property>

       <!--  JDBC connection pool (use the built-in) -->
       <property name="connection.pool_size">1</property>

       <!--  SQL Dialect -->
       <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL82Dialect</property>

       <!-- Assume test is the database name -->
       <property name="show_sql">true</property>

       <!--  Drop and re-create the database schema on startup -->
       <property name="hbm2ddl.auto">create</property>

       <!--  Names the annotated entity class -->
       <mapping class="HIndexSaar.HIndex.Person"/>
       <mapping class="HIndexSaar.HIndex.University"/>
       <mapping class="HIndexSaar.HIndex.Publication"/>
    </session-factory>
</hibernate-configuration>

这是我的申请类:

package HIndexSaar.HIndex;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class HibernateManager {

    private static SessionFactory factory;

    public HibernateManager(){
        //
        //* Setup the configuration.
        //
        Configuration config = new Configuration().configure("hibernate.cfg.xml").addAnnotatedClass(Person.class)               .addAnnotatedClass(University.class).addAnnotatedClass(Publication.class);
        factory = config.buildSessionFactory();
    }

运行以下代码后出现错误:

I get an error by running the following code:

package HIndexSaar.HIndex;

public class AppHibernate {

    public static void main(String[] args){
        HibernateManager mng = new HibernateManager();
        [...]
    }
}

所以在HibernateManager中构建 SessionFactory 似乎已经破解了。我收到错误

So something seems to be broken in building the SessionFactory in the HibernateManager. I get the error


找不到cfg.xml资源

Could not locate cfg.xml resource

和以下的堆栈跟踪:

Feb 27, 2016 10:26:03 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.7.Final}
Feb 27, 2016 10:26:03 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Feb 27, 2016 10:26:03 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Exception in thread "main"        org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:53)
at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:163)
at org.hibernate.cfg.Configuration.configure(Configuration.java:259)
at org.hibernate.cfg.Configuration.configure(Configuration.java:245)
at HIndexSaar.HIndex.HibernateManager.<init>(HibernateManager.java:18)
at HIndexSaar.HIndex.AppHibernate.main(AppHibernate.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

我已经将hibernate.cfg.xml文件放在/ src / main / java / resources下了,但显然还是出了问题。
有人知道我犯的错误是什么吗?令人惊讶的是,相同的代码在Eclipse中运行时没有错误,那么IntelliJ的问题可能是什么?我使用相同的SDK / JDK,即jdk 1.7。

I already have placed the hibernate.cfg.xml file under /src/main/java/resources but obviously something goes still wrong. Does somebody have an idea what could be the mistake I made? Surprisingly, the same code runs in Eclipse without error, so what could be the problem of IntelliJ? I use the same SDK/JDK, namely jdk 1.7.

推荐答案

如果你正在使用intellij然后尝试使用hibernate创建新模块框架支持然后粘贴相同的代码并执行它。
这可能是clipse和intellij

If your are using intellij then try to create new module with hibernate framework support then paste this same code and execute it. This might be path difference in clipse and intellij

这篇关于Hibernate ConfigurationException:找不到cfg.xml资源[hibernate.cfg.xml] IntelliJ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆