Hibernate InvalidMappingException при запуске jar-упакованного приложения - PullRequest
0 голосов
/ 17 ноября 2010

Я только начал играть с Java и Hibernate и заставил приложение работать. Все работает «отлично», когда я запускаю его из eclipse, но когда я использую встроенную функцию Eclipse для упаковки проекта с зависимостями в файлы jar, я получаю:

org.hibernate.InvalidMappingException: Unable to read XML
        at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
        at org.hibernate.cfg.Configuration.add(Configuration.java:510)
        at org.hibernate.cfg.Configuration.add(Configuration.java:506)
        at org.hibernate.cfg.Configuration.add(Configuration.java:686)
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:771)
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2314)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2280)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2260)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2213)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:2128)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:2107)
        at myPackage.MyClass.setUp(MyClass.java:89)

hibernate.cfg.xml и mapping.hbm.xml находятся непосредственно в папке src. «Связь» между ними:

<mapping resource="mapping.hbm.xml" />

В полученном jar-файле они оба попадают в корень.

1 Ответ

1 голос
/ 08 июля 2011

Ваше сообщение может содержать несколько объяснений относительно действительности XML.

В моем случае у меня была такая же проблема весь день, но с устаревшим приложением, поэтому оно не могло быть недействительным. Я только что понял, что в моем classpath произошел сбой, поэтому файл dfc.jar мешал Hibernate при чтении сопоставлений XML.

В вашем случае это может быть вопрос достоверности XML (как вы можете видеть по всему Интернету) или другой JAR-файл, мешающий вашему пути к классам, как в моем случае.

Надеюсь, это поможет.

...