Spring MVC Annotations
J'ai été au cours du Printemps, de la documentation, une ou deux fois, mais je ne semble pas être en mesure d'obtenir @Contrôleur, etc annotations au travail.
Je suis le chargement des dépendances et des dépôts dans mon POM (... sont mes valeurs spécifiques):
<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>...</groupId>
<artifactId>...</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>...</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework.version>3.0.5.RELEASE</org.springframework.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.context</artifactId>
<version>${org.springframework.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.web.servlet</artifactId>
<version>${org.springframework.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>com.springsource.repository.bundles.release</id>
<url>http://repository.springsource.com/maven/bundles/release/</url>
</repository>
<repository>
<id>com.springsource.repository.bundles.external</id>
<url>http://respoitory.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
</project>
Dans mon web.xml je suis en train de le répartiteur de la servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Et sous WEB-INF j'ai servlet-context.xml (... est mon contrôleur paquet):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="..." />
<mvc:annotation-driven />
<!-- Adds prefix and suffix to returned views -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
Je pense que je dois être absent ou en oubliant quelque chose de simple. Eclipse ne reconnaît pas les annotations et maven ne parvient pas à construire le projet. Quelqu'un peut m'aider ici?
MODIFIER
Pour plus de précisions, dans eclipse, l'ajout de l'annotation des résultats dans:
The import org.springframework cannot be resolved
Et d'exécuter mvn clean install résultats dans:
package org.springframework.stereotype does not exist
Et de retrait de l'exécution de la portée des résultats dans la suite de Maven erreur:
error reading ...\.m2\repository\org\aopalliance\com.springsource.org.aopalliance.0.0\com.springsource.org.aopalliance-1.9.9.jar; error in opening zip file
Que signifie "ne parvient pas à construire le projet"?
Oui, il est dans la base-package.
Voir modifier les erreurs.
OriginalL'auteur mathlovingkitten | 2011-03-06
Vous devez vous connecter pour publier un commentaire.
Il peut avoir quelque chose à voir avec ce que vous avez défini comme le champ d'application pour le Printemps dépendances. Vous avez défini à "l'exécution", ce qui signifie qu'ils ne sont pas utilisés pour la compilation et ne sont nécessaires que lors de l'exécution. Cela expliquerait pourquoi il ne compile pas dans Eclipse (et est probablement le problème dans votre Maven build ainsi, bien que vous ne spécifiez pas l'erreur).
Il suffit de retirer le champ d'application de l'utilisation de l'étendue par défaut (la valeur par défaut est de compiler, ce qui est probablement ce que vous voulez dans ce cas) et de voir si vous.
Mise à jour:
Merci pour l'ajout de l'erreur spécifique que vous obtenez.
Cela signifie Maven est d'essayer d'utiliser un local de la dépendance, mais ne pouvez pas ouvrir le fichier jar. J'ai vu cela arriver parfois lorsque le pot est corrompu pendant le téléchargement ou ne télécharge que partiellement.
Essayez de supprimer le ~/.m2/repository/org/aopalliance/com.springsource.org.aopalliance/répertoire et exécutez de nouveau la construire. Ce sera la cause de Maven pour le re-télécharger et nous espérons obtenir dans un bon état.
Eh bien, j'ai supprimé certains dossiers et rediffusé, et Maven semble être correct. Mais maintenant, quand je déployer pour Tomcat, je reçois un "dispatcherServlet n'est pas disponible" s'affiche. En outre, l'Éclipse est encore de ne pas reconnaître l'annotation des importations.
OriginalL'auteur Spencer Uresk
J'ai trouvé la réponse à ma question dans un post plus tard.
En gros, j'ai besoin d'ajouter le plugin m2eclipse à Eclipse. Vous pouvez trouver des instructions à http://m2eclipse.sonatype.org/installing-m2eclipse.html si nécessaire. Une fois que c'est installé, vous pouvez faire un clic droit sur votre projet dans Eclipse et choisissez Maven > Activer la Gestion de la Dépendance. Ensuite, l'éclipse sera en mesure de reconnaître les importations à partir de votre POM dépendances.
Donc en fin de compte, j'ai eu la suivante. Eclipse reconnu tout, Maven corriger construit et emballés par le projet, et Tomcat déployé le projet avec succès.
Voici mon web.xml accrocher le répartiteur de la servlet:
Voici mon servlet-context.xml permettre les annotations et consulter resolver:
Voici mon POM fichier:
Espère que cela aide quelqu'un d'autre.
OriginalL'auteur mathlovingkitten
Assurez-vous que votre eclipse version en cache de la prise en pension d'index est à jour, vous pouvez même mettre à jour manuellement l'index à l'aide de maven pensions de vue et de mise à jour à partir de là.
J'ai toujours essayer la version classique (ligne de commande) de mes builds maven, si j'obtiens une erreur à partir de certains IDE.
OriginalL'auteur Loki
utilisation ci-dessous et essayez, annotation gestionnaire doit être utilisé comme ci-dessous dans votre contexte de l'application .xml
ce sera résolu stéréotype erreurs
si pas travaillé ajouter la ligne ci-dessous pour xsi:schemaLocation
OriginalL'auteur kapil das