java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;

java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;,java,hibernate,struts2,pom.xml,Java,Hibernate,Struts2,Pom.xml,我在Struts2 fullhibernatecore插件的帮助下链接Struts2和hibernate 不幸的是,我得到了这个错误。我发现问题可能出在我的hibernate版本的类路径上 这是我的pom.xml。现在已对其进行了编辑,效果完美: 有人能看看我的pom来说明哪里出了问题吗?当库ie struts2 fullhibernatecore插件针对依赖项ie hibernate的一个版本编译,但针对另一个版本运行时,会发生“NoSuchMethodError” 从命令行运行以下命令: m

我在Struts2 fullhibernatecore插件的帮助下链接Struts2和hibernate

不幸的是,我得到了这个错误。我发现问题可能出在我的hibernate版本的类路径上

这是我的pom.xml。现在已对其进行了编辑,效果完美:


有人能看看我的pom来说明哪里出了问题吗?

当库ie struts2 fullhibernatecore插件针对依赖项ie hibernate的一个版本编译,但针对另一个版本运行时,会发生“NoSuchMethodError”

从命令行运行以下命令:

mvn dependency:tree
看看struts2 fullhibernatecore插件所期望的hibernate版本

我猜你会发现struts2 fullhibernatecore插件需要某种版本的hibernate。但是,由于您在pom中明确定义了hibernate的一个版本,所以maven使用了这个版本。请参阅最接近的定义wins策略


若要修复此问题,请将pom.xml中的hibernate版本更改为struts2 fullhibernatecore插件所需的版本。

当针对依赖项ie hibernate的一个版本编译库ie struts2 fullhibernatecore插件,但针对另一个版本运行时,会发生“NoSuchMethodError”

从命令行运行以下命令:

mvn dependency:tree
看看struts2 fullhibernatecore插件所期望的hibernate版本

我猜你会发现struts2 fullhibernatecore插件需要某种版本的hibernate。但是,由于您在pom中明确定义了hibernate的一个版本,所以maven使用了这个版本。请参阅最接近的定义wins策略


要修复此问题,请将pom.xml中的hibernate版本更改为struts2 fullhibernatecore插件所需的版本。

Eclipse提供了此依赖关系树。为什么mvn dependency:tree下载了一些JAR?dependency tree maven插件需要自己的依赖项才能执行。别担心,这些不会包含在项目的工件中。我找到了struts2 fullhibernatecore插件Eclipse提供给我的依赖关系树所需的所有依赖关系。为什么mvn dependency:tree下载了一些JAR?dependency tree maven插件需要自己的依赖项才能执行。别担心,这些不会包含在项目的工件中。我找到了struts2 fullhibernatecore插件所需的所有依赖项。看起来您正在pom.xml中显式定义hibernate的可传递依赖项,例如commons集合、cflib等。为什么要这样做?您是否意识到,通过声明struts2 fullhibernatecore插件,您还将引入hibernate和所有其他可传递依赖项?看起来您正在pom.xml中显式定义hibernate的可传递依赖项,例如commons collections、cflib等。您为什么要这样做?您是否意识到,通过声明struts2 fullhibernatecore插件,您还将引入hibernate和所有其他可传递的依赖项?
mvn dependency:tree