我刚刚开始使用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文件中,它们最终都在根目录中。
答案 0 :(得分:1)
您的消息可能有多个关于XML有效性的解释。
在我的情况下,我整天都遇到了同样的问题但使用了遗留应用程序,所以它不会无效。我刚刚意识到我的类路径发生了崩溃,所以dfc.jar文件在读取XML映射时干扰了Hibernate。
在您的情况下,它可能是XML有效性的问题(因为您可以在网络上看到),或者在我的情况下干扰您的类路径的另一个JAR文件。
我希望它有所帮助。