Nonostante questo progetto di aver lavorato per me per un po ', ora sto ottenendo un'eccezione quando si tenta di distribuire il mio contesto di applicazione in Tomcat:Spring MVC - Perché l'eccezione NoSuchMethodError durante la distribuzione del contesto?
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)
Da quello che ho letto, questo può accadere se non ci sono più versioni di Spring che vengono compilate nell'app. Tuttavia, ho completamente cancellato il mio repository locale di dipendenze per confermare che ho solo la versione che voglio nel mio percorso di compilazione. Le mie dipendenze sono i seguenti:
<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>
non ho errori di compilazione nel progetto Eclipse e si costruisce perfettamente, senza avvisi o errori. Tuttavia, Tomcat sta marcando il mio singolo servlet di test non disponibile e quando eseguo il tail dei log, lo stacktrace sopra è il mio unico suggerimento.
Qualsiasi aiuto che chiunque può offrire sarebbe molto apprezzato. La mia esperienza con Spring and Spring MVC è minima, quindi spero che questo sia semplicemente un problema da principiante che mi è completamente sfuggito.
La prima cosa che faccio quando inizio a vedere errori misteriosi è eliminare la directory di lavoro di Tomcat ... vale la pena provare – nickdos
Consiglio eccellente! Questo mi ha aiutato a identificare il problema, grazie mille! – mchandler