代码之家  ›  专栏  ›  技术社区  ›  richardwiden

运行jar压缩应用程序时出现Hibernate InvalidMappingException

  •  0
  • richardwiden  · 技术社区  · 15 年前

    我刚刚开始玩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 回复  |  直到 15 年前
        1
  •  1
  •   Lennarth Anaya    15 年前

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

    在我的例子中,我一整天都有同样的问题,但是有一个遗留应用程序,所以它不可能是无效的。我刚刚意识到我的类路径中有一个崩溃,所以dfc.jar文件在读取XML映射时干扰了Hibernate。

    在您的例子中,这可能是XML有效性的问题(如您在web上看到的那样),或者是另一个JAR文件干扰您的类路径,如我的例子所示。

    我希望有帮助。