问题
I have the hibernate.cfg.xml file in the project root folder.
If I run an application containing:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
it crashes in the configure()
method with the following message:
Could not locate cfg.xml resource [hibernate.cfg.xml]
Output:
Jun 17, 2016 12:04:59 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.0.Final}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.max_fetch_depth=5, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.connection.pool_size=5}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
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:258)
at org.hibernate.cfg.Configuration.configure(Configuration.java:244)
at o.k.j.HibernateTest.main(HibernateTest.java:22)
回答1:
If you are using Maven to build your project, place the 'hibernate.cfg.xml' file under 'src/main/resources'
回答2:
If you are using Maven as build tool then place hibernate.cfg.xml
under resources folder.
Steps to make application refer Hibernate Configuration File.
Right click the resources folder and select Mark Directory As option and click on Resources Root.
These steps worked for me in InteliJ IDEA Ultimate 14.
回答3:
The hibernate.cfg.xml file should be moved to src folder.
回答4:
Use forward / to put cfg file without forward / it won't work
回答5:
I was also facing the similar issue, and I noticed that my hibernate configuration file "hibernate.cfg.xml" was not on the required path. Hence I moved hibernate.cfg.xml into src folder and that resolved the issue.
来源:https://stackoverflow.com/questions/37879613/configurationexception-could-not-locate-cfg-xml-resource-hibernate-cfg-xml-in