A pesar de este proyecto después de haber trabajado para mí durante un tiempo, ahora estoy consiguiendo una excepción cuando intento de desplegar mi contexto de aplicación en Tomcat:Spring MVC: ¿por qué la excepción NoSuchMethodError al desplegar el contexto?
Servlet /testapp threw load() exception
java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
at org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:62)
Por lo que he leído, esto puede ocurrir si hay hay varias versiones de Spring que se están compilando en la aplicación. Sin embargo, he purgado por completo mi repositorio de dependencias local para confirmar que solo tengo la versión que quiero en mi ruta de compilación. Mis dependencias son las siguientes:
<properties>
<java-version>1.6</java-version>
<org.springframework.version>3.1.0.RELEASE</org.springframework.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<!-- CGLIB, only required and used for @Configuration usage -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
<optional>false</optional>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
no tengo errores de compilación en el proyecto Eclipse y se construye a la perfección, sin advertencias o errores. Sin embargo, Tomcat está marcando que mi único servlet de prueba no está disponible y cuando hago cola en los registros, el stacktrace de arriba es mi única pista.
Cualquier ayuda que cualquiera pueda ofrecer sería muy apreciada. Mi experiencia con Spring y Spring MVC es mínima, así que espero que esto sea simplemente un problema para principiantes que se me haya escapado por completo.
Lo primero que hago cuando empiezo a ver errores misteriosos es purgar el directorio de trabajo de tomcat ... vale la pena intentarlo – nickdos
¡Excelente consejo! Esto me ayudó a identificar el problema, ¡muchas gracias! – mchandler