Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate ClassNotFound异常-JAR不兼容?_Java_Hibernate_Maven_Dependencies - Fatal编程技术网

Java Hibernate ClassNotFound异常-JAR不兼容?

Java Hibernate ClassNotFound异常-JAR不兼容?,java,hibernate,maven,dependencies,Java,Hibernate,Maven,Dependencies,我有一个Hibernate项目,具有以下与Hibernate相关的依赖项: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.1.4.Final</version> </dependency>

我有一个Hibernate项目,具有以下与Hibernate相关的依赖项:

 <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.4.Final</version>
    </dependency>

    <!-- Because this is a web app, we also have a dependency on the servlet api. -->
    <dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.35</version>
 </dependency>

    <!-- Hibernate uses slf4j for logging, for our purposes here use the simple backend -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.4</version>
    </dependency>

    <!-- Hibernate gives you a choice of bytecode providers between cglib and javassist -->
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.12.1.GA</version>
    </dependency>
完整堆栈跟踪:

 Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvider
 05.07.2012 15:51:47 com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
 SCHWERWIEGEND: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
 java.lang.ExceptionInInitializerError
at com.bachelor.core.HibernateUtil.buildSessionFactory(HibernateUtil.java:27)
at        com.bachelor.service.EstateResourceBean.postAndGetResponse(EstateResourceBean.java:420)
at com.bachelor.service.EstateResourceBean.postEstate(EstateResourceBean.java:166)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
我已经用hibernate core 4.1.4.Final试用过了。不起作用。我的lib文件夹还有hibernate-core-4.1.3.Final和dom4j-1.6.1.jar


我得到了另一个Hibernate项目,它与这个依赖项设置配合得很好。在我的lib文件夹中只有一个额外的hsqldb.jar。有什么问题吗?

更好的方法是,尝试添加以下更新的内容:

<dependency>
    <groupId>org.hibernate.common</groupId>
    <artifactId>hibernate-commons-annotations</artifactId>
    <version>4.0.1.Final</version>
</dependency>

org.hibernate.common
hibernate commons注释
4.0.1.最终版本

更好的方法是,尝试添加新的:

<dependency>
    <groupId>org.hibernate.common</groupId>
    <artifactId>hibernate-commons-annotations</artifactId>
    <version>4.0.1.Final</version>
</dependency>

org.hibernate.common
hibernate commons注释
4.0.1.最终版本

这是如何打包的?如果这是一个webapp,上述jar是否包含在war文件的WEB-INF/lib中?(您不应该将hibernate库放在webapp服务器的lib文件夹中)。它打包为war文件。可能是因为他找不到我的映射或配置文件吗?也许你应该发布完整的pom.xml和输出:
mvn dependency:tree-Dverbose
。jar是否在war文件的WEB-INF/lib中?我必须将hibernate commons注释添加到WEB-INF/lib文件夹中。谢谢但是,为什么它不能只处理依赖关系呢?在我的另一个项目中是这样的。现在我得到一个日志异常,我需要将jboss-logging-3.1.0.GA.jar放入我的WEB-INF/lib文件夹。但是它已经在maven dependencies libraries文件夹中。为什么我必须将所有JAR添加到WEB-INF/lib?我不知道jboss。。。也许存在一些依赖冲突。检查依赖关系树这是如何打包的?如果这是一个webapp,上述jar是否包含在war文件的WEB-INF/lib中?(您不应该将hibernate库放在webapp服务器的lib文件夹中)。它打包为war文件。可能是因为他找不到我的映射或配置文件吗?也许你应该发布完整的pom.xml和输出:
mvn dependency:tree-Dverbose
。jar是否在war文件的WEB-INF/lib中?我必须将hibernate commons注释添加到WEB-INF/lib文件夹中。谢谢但是,为什么它不能只处理依赖关系呢?在我的另一个项目中是这样的。现在我得到一个日志异常,我需要将jboss-logging-3.1.0.GA.jar放入我的WEB-INF/lib文件夹。但是它已经在maven dependencies libraries文件夹中。为什么我必须将所有JAR添加到WEB-INF/lib?我不知道jboss。。。也许存在一些依赖冲突。检查依赖关系树,你说你的lib文件夹包含版本4.1.3。它是您的servlet容器(例如:tomcat)的lib文件夹,还是您的Web应用程序中的lib文件夹?它是我的Web应用程序中的一个。您是否检查了您的Web应用程序lib文件夹中只有一个hibernate commons annotations jar,并且servlet lib文件夹中没有人?您说您的lib文件夹包含版本4.1.3。它是servlet容器(例如:tomcat)的lib文件夹,还是您的webapp中的lib文件夹?它是my webapp中的lib文件夹您是否检查过webapp lib文件夹中只有一个hibernate commons annotations jar,并且servlet lib文件夹中没有人?