运行jar-packed应用程序时出现Hibernate InvalidMappingException

时间:2010-11-17 20:32:59

标签: java eclipse hibernate jar

我刚刚开始使用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 个答案:

答案 0 :(得分:1)

您的消息可能有多个关于XML有效性的解释。

在我的情况下,我整天都遇到了同样的问题但使用了遗留应用程序,所以它不会无效。我刚刚意识到我的类路径发生了崩溃,所以dfc.jar文件在读取XML映射时干扰了Hibernate。

在您的情况下,它可能是XML有效性的问题(因为您可以在网络上看到),或者在我的情况下干扰您的类路径的另一个JAR文件。

我希望它有所帮助。