Spring MVC Anmerkungen
Hab ich über Frühling in der Dokumentation ein paar mal, aber ich weiß nicht zu sein scheinen in der Lage zu bekommen @Controller, etc Anmerkungen zu arbeiten.
Ich bin laden Sie die Abhängigkeiten und repositories in meiner POM (... sind meine spezifischen Werte):
<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>
In meinem web.xml ich bin einrichten die dispatcher-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>
Und unter WEB-INF habe ich servlet-context.xml (... ist mein controller-Paket):
<?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>
Ich glaube, ich muss fehlt oder vergessen etwas zu einfach. Eclipse nicht erkennt, die Anmerkungen und maven schlägt fehl, um das Projekt zu erstellen. Kann mir jemand helfen hier?
BEARBEITEN
Zur weiteren Klärung, in eclipse hinzufügen der annotation führt zu:
The import org.springframework cannot be resolved
Und ausführen von mvn clean install-Ergebnisse in:
package org.springframework.stereotype does not exist
Und entfernen der runtime-Bereich Ergebnisse in den folgenden Maven-Fehler:
error reading ...\.m2\repository\org\aopalliance\com.springsource.org.aopalliance\1.0.0\com.springsource.org.aopalliance-1.9.9.jar; error in opening zip file
Was bedeutet "nicht zu bauen, das Projekt" gemeint?
Ja, es ist im Basis-Paket.
Siehe edit für Fehler.
InformationsquelleAutor mathlovingkitten | 2011-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann es damit etwas zu tun haben mit dem, was du eingestellt hast, da der Anwendungsbereich für die Spring-Abhängigkeiten. Sie haben Sie zu "Laufzeit", das heißt, Sie sind nicht für die Kompilierung verwendet und sind nur zur Laufzeit benötigt. Dies würde erklären, warum es nicht kompilieren in Eclipse (und wahrscheinlich ist das problem in Ihrem Maven-build so gut, obwohl Sie nicht angegeben haben, der Fehler).
Entfernen Sie einfach den Bereich auf den Standardbereich verwenden (die Standardeinstellung ist " kompilieren, die wahrscheinlich ist, was Sie wollen, in diesem Fall) und sehen, ob das bringt Sie nicht weiter.
Update:
Dank für das hinzufügen der spezifischen Fehler, die Sie bekommen.
Bedeutet dies, Maven versucht, um eine lokale Abhängigkeit, aber nicht öffnen Sie die jar-Datei. Ich habe gesehen, das passiert manchmal, wenn das Glas beschädigt wird während des downloads oder der lädt nur teilweise.
Versuchen Sie das löschen der ~/.m2/repository/org/aopalliance/com.springsource.org.aopalliance/- Verzeichnis, und führen Sie den build. Dadurch wird Maven erneut herunterladen und hoffentlich bekommt es in einem guten Zustand.
Gut, ich löschte einige der Ordner und reran, und Maven scheint in Ordnung zu sein. Wenn ich jetzt aber im bereitstellen von Tomcat bekomme ich ein "dispatcherServlet ist nicht verfügbar" Fehler. Darüber hinaus Eclipse ist noch nicht zu erkennen, die annotation importiert.
InformationsquelleAutor Spencer Uresk
Fand ich die Antwort auf meine Frage in einem späteren post.
Im Grunde brauchte ich hinzufügen das m2eclipse plugin für Eclipse. Hier finden Sie Hinweise auf http://m2eclipse.sonatype.org/installing-m2eclipse.html, wenn nötig. Sobald diese installiert ist, können Sie mit der rechten Maustaste auf Ihr Projekt in Eclipse, und wählen Maven > Enable Dependency Management. Dann eclipse in der Lage sein, zu erkennen Einfuhren aus Ihrem POM Abhängigkeiten.
Also am Ende, hatte ich das folgende. Eclipse erkannt alles, Maven korrekt gebaut und verpackt das Projekt, und Tomcat eingesetzt wird das Projekt erfolgreich.
Hier ist meine web.xml Haken bis der dispatcher-servlet:
Hier ist meine servlet-context.xml aktivieren Sie die Beschriftungen und anzeigen resolver:
Hier ist meine POM-Datei:
Hoffe, dies hilft jemand anderes.
InformationsquelleAutor mathlovingkitten
Sicher sein, dass Ihre eclipse zwischengespeicherte version der repo-index up to date ist, können Sie auch manuell aktualisieren den index, indem Sie mit maven-repo-Ansicht und aktualisieren Sie es von dort.
Ich versuche immer die vanilla-version (command-line) von meinem maven-builds, wenn ich eine Fehlermeldung erhalten, von manchen IDE.
InformationsquelleAutor Loki
unten verwenden und versuchen, annotation-handler verwendet werden sollte, da unten in Ihrem Anwendungskontext .xml -
diese wird gelöst Stereotyp Fehler
wenn nicht funktioniert, fügen Sie folgende Zeile für xsi:schemaLocation
InformationsquelleAutor kapil das