java.lang.NoSuchMethodError org.hibernate.cfg.Configuration.addAnnotatedClass
我以前从未用过maven。但我一直想。我更新了一个我正在处理的eclipse项目,使其全部在maven中 这是我的WEB-INF/lib文件夹,里面有我所有的JAR 现在我想在maven中一个接一个地添加依赖项,但我有错误 当我输入一个servlet时,我得到以下结果:java.lang.NoSuchMethodError org.hibernate.cfg.Configuration.addAnnotatedClass,java,eclipse,hibernate,maven,Java,Eclipse,Hibernate,Maven,我以前从未用过maven。但我一直想。我更新了一个我正在处理的eclipse项目,使其全部在maven中 这是我的WEB-INF/lib文件夹,里面有我所有的JAR 现在我想在maven中一个接一个地添加依赖项,但我有错误 当我输入一个servlet时,我得到以下结果: excepción javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción org.apache.tomcat.web
excepción
javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
causa raíz
java.lang.ExceptionInInitializerError
util.HibernateUtil.<clinit>(HibernateUtil.java:38)
app.Model.getProvincias(Model.java:74)
servlet.FormS.doGet(FormS.java:22)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
causa raíz
java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;
util.HibernateUtil.<clinit>(HibernateUtil.java:25)
app.Model.getProvincias(Model.java:74)
servlet.FormS.doGet(FormS.java:22)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
最后,这里是我所有新的maven依赖项,我试图将它们保留在所有依赖项的相同版本中:
还有我的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>OBRAM2</groupId>
<artifactId>OBRAM2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
</dependencies>
</project>
4.0.0
OBRAM2
OBRAM2
0.0.1-快照
战争
src
src
**/*.爪哇
maven编译器插件
3.1
1.7
1.7
maven战争插件
2.3
网络内容
假的
javax.mail
javax.mail-api
1.5.3
log4j
log4j
1.2.17
org.apache.velocity
速度
1.7
com.google.code.gson
格森
2.3.1
mysql
mysql连接器java
5.1.17
javax.servlet
jstl
1.2
org.hibernate
冬眠核心
4.3.8.最终版本
org.hibernate.common
hibernate commons注释
4.0.5.4最终版本
org.apache.commons
commons-lang3
3.4
还记得maven之前的代码吗,我没有做任何更改
谢谢 我最终通过创建maven文件夹结构解决了这个问题。eclipse配置->转换到Maven似乎没有做到这一点
src\main\java
here my files
src\main\resources
src\main\webapp
定义maven时,它会解析工件的所有子依赖项,并决定工件的版本。您可以通过访问target/{yourapp}/WEB-INF/lib/并查看maven在战争中打包的确切JAR来解决此冲突。如果有一些不符合您的初始/lib,您可以使用EclipseMaven依赖关系管理器(或直接在pom上使用)来排除您不想要的
当您使用不同版本的工件时,经常会出现此错误。尝试添加此依赖项。org.hibernate hibernate annotations 3.5.6-Final
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>OBRAM2</groupId>
<artifactId>OBRAM2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
</dependencies>
</project>
src\main\java
here my files
src\main\resources
src\main\webapp