Hibernate Mappings не может быть найден, только при запуске из JAR - PullRequest
1 голос
/ 25 января 2012

У меня есть проект, где в моем src / main / resources у меня есть два файла сопоставления.

Foo.hbm.xml , Bar.hbm.xml

При запуске моего основного класса из затмения все работает нормально. При экспорте в файл jar с помощью подключаемого модуля maven я не могу создать фабрику сеансов из-за отсутствия файлов сопоставления. Ошибка:

Exception in thread "main" org.hibernate.MappingException: Resource: Foo.hbm.xml not found 

Я не использую spring , хотя я также пытался использовать Spring, и у меня та же проблема. Фабрика сеансов Spring не может найти отображение при запуске из jar. Моя реализация следующая. Код:

    Configuration hibernateConfig = new Configuration();
    hibernateConfig.configure("hibernate.cfg.xml");
    hibernateConfig.addResource("Foo.hbm.xml");
    hibernateConfig.addResource("Bar.hbm.xml");

    hibernateConfig.setProperty("hibernate.connection.url", conf.dbUrl);
    hibernateConfig.setProperty("hibernate.connection.username", conf.dbUsername);
    hibernateConfig.setProperty("hibernate.connection.password", conf.dbPassword);

Я также пытался добавить сопоставления через hibernate.cfg.xml , но он не работал с тем же результатом, работает в затмении, но не при использовании запускаемого JAR. Мой maven сборочный конфиг выглядит следующим образом.

        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <archive>
              <manifest>
                <mainClass>com.app.EntryPoint</mainClass>
              </manifest>
            </archive>
          </configuration>
        </plugin>

Я создаю JAR с сборкой mvn: сборка , и когда я ее открываю, в корневом (/) JAR-файле отображаются сопоставления.

EDIT

Момент лицевой стороны лица после просмотра всего 6 часов. Foo.hbm.xml было написано неправильно, поэтому отображение называлось MOTAccounts.hbm.xml, и я использовал MotAccounts.hbm.xml.

Что исключило меня из этой возможности, так это то, что все работало в затмении, но не работало в JAR. Как я уже сказал, лицо ладонью момент.

...