Spring MVC et JSON, exception de classe Jackson non trouvée
Je ne peux pas obtenir de Printemps de la prise en charge de JSON de travail. Dans mon spring-servlet.xml fichier j'ai inclus les lignes suivantes:
<mvc:annotation-driven/>
<context:component-scan base-package="my.packagename.here" />
<context:annotation-config />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
J'ai aussi téléchargé jackson bibliothèques et les ajouter à mon projet eclipse et aussi WEB-INF/lib du dossier. Lors de l'envoi de la demande au contrôleur avec jQuery getJSON méthode, j'obtiens les erreurs suivantes:
javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException
java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException
Que pensez-vous est le problème. J'imagine qu'il a quelque chose à faire avec mon spring-servlet.xml
fichier. Je peux coller ensemble du journal des erreurs, si vous en avez besoin.
source d'informationauteur jyriand
Vous devez vous connecter pour publier un commentaire.
JsonProcessingException fait partie de la jackson-core-asl-x.x.x.jar. Assurez-vous que c'est une partie de votre classpath.
Pour Jackson v2 pots de, la classe pour être utilisé pour bean devrait être
Pour les anciens jackson version, org.springframework.http.convertisseur de.json.MappingJacksonHttpMessageConverter est ok. Assurez-vous que les fichiers jar sont ajoutés à la bibliothèque de projet.
La réponse de anshul tiwari partiellement capte le problème. Voici une réponse plus complète ...
Quand Jackson fait à la version 2.0, la bibliothèque de base a été modifiée à partir de jackson-core-asl-x.x.x.jar pour jackson-core-x.x.x.jar. Avec cela, les chemins changé. Dans la version 1, org.codehaus.jackson était le chemin. Dans la version 2, il est dans la com.fasterxml.jackson.de base, si vous ouvrez le fichier jar.
Maintenant, si vous avez des bibliothèques de la version 2 et vous voyez le org.codehaus.jackson ClassNotFoundException, cela signifie qu'il y a un mélange de versions. Code attend v1 mais vous avez fourni v2. Cela est certainement possible lors de l'utilisation de Ressort de sorte que vous devez être soin de choisir le bon fichier jar pour votre code.
MODIFIER
En fait, en regardant à 3,2 source code,
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
encore les références de l'org.codehaus de choses donc c'est un cas où le Printemps le code source doit importer le chemin d'accès correct et il n'y a rien que vous, le développeur peut faire pour utiliser jackson 2.Juste pour compléter anshul tiwari réponse, le haricot balise ne doit pas aller à l'intérieur mvc:annotation-pilote:
L'utiliser Comme ci-dessous : Espère que cela va fonctionner..
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"
par défaut-lazy-init="true">