Я экспортировал свой проект в файл JAR. У меня есть файл hibernate.cfg.xml внутри JAR, и я создал файл hibernate.properties, чтобы изменить настройки режима гибернации без непосредственного редактирования файла hibernate.cfg.xml. но, запустив файл JAR, я получаю исключение ниже, ожидая, что файл hibernate.cfg.xml будет там вне файла JAR. Но я хочу, чтобы только файл hibernate.properties находился вне файла JAR для предоставления настроек базы данных.
Исключение в консоли:
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibern
ate.cfg.xml not found
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.ExceptionInInitializerError
at DataLayer.HibernateAdapter.buildSessionFactory(HibernateAdapter.java:
37)
at DataLayer.HibernateAdapter.<clinit>(HibernateUtil.java:13)
at DataLayer.ApplicationDbContext.<init>(DatabaseContext.java:10)
at ScanningServer.MainProg.init(TestMain.java:58)
at ScanningServer.MainProg.main(TestMain.java:25)
... 5 more
Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHe
lper.java:173)
строитьSessionFactory():
private static SessionFactory buildSessionFactory() {
Properties hibernateProperties = new Properties();
Properties hib = new Properties();
if (sessionFactory == null){
try {
hibernateProperties.load(HibernateUtil.class.getClassLoader().getSystemClassLoader()
.getResourceAsStream("hibernate.properties"));
Configuration configuration = new Configuration().configure();
serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
sessionFactory = configuration.addAnnotatedClass(Account.class)
.addAnnotatedClass(Consumer.class).addAnnotatedClass(Order.class)
.addAnnotatedClass(Customer.class)
.addAnnotatedClass(Products.class)
.addAnnotatedClass(Category.class)
.addAnnotatedClass(Schedules.class)
.addAnnotatedClass(Alert.class)
.mergeProperties(hibernateProperties)
.configure("hibernate.cfg.xml").buildSessionFactory(serviceRegistry);
} catch (Exception e) {
System.err.println("Initial SessionFactory creation failed." + e);
throw new ExceptionInInitializerError(e);
}
}
return sessionFactory;
}
hibernate.properties:
hibernate.connection.url=jdbc:mysql://localhost/MyProjectDB?createDatabaseIfNotExist=true
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.username=root
hibernate.connection.password=Admin123!
Пожалуйста, помогите мне преодолеть это!!
configure(“com/bla/hibernate.cfg.xml”)
это должно работать - person Paizo   schedule 10.04.2015