Несмотря на этот проект проработав для меня какое-то время, сейчас я получаю исключение при попытке развернуть свой контекст приложения в Tomcat:Spring MVC - Почему исключение NoSuchMethodError при развертывании контекста?
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)
Из того, что я читал, это может произойти, если это несколько версий Spring, которые компилируются в приложении. Тем не менее, я полностью очистил свой локальный репозиторий зависимостей, чтобы подтвердить, что у меня есть только версия, которую я хочу в своем пути сборки. Мои зависимости заключаются в следующем:
<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>
У меня нет ошибок компилятора в проекте Eclipse, и он строит отлично, без каких-либо предупреждений или ошибок. Тем не менее, Tomcat отмечает мой единственный тестовый сервлет недоступен, и когда я заканчиваю журналы, stacktrace выше - мой единственный намек.
Любая помощь, которую может предложить любой, была бы весьма признательна. Мой опыт с Spring и Spring MVC минимален, поэтому я надеюсь, что это просто проблема новичков, которая полностью ускользнула от меня.
Первое, что я делаю, когда начинаю видеть таинственные ошибки, - это очистить рабочий каталог tomcat ... стоит попробовать – nickdos
Отличный совет! Это помогло мне определить проблему, спасибо огромное! – mchandler