Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mit dem Maven-Archetype maven-archetype-webapp und mit m2eclipse versucht, eine einfache Servlet- und jsp-Anwendung anzulegen, die unter Tomcat laufen soll. Nun komme ich überhaupt nicht weiter.
Das projekt wird zwar angelegt, aber dann tauchen Probleme und Fragen auf:
Wenn ich im Sourcen-Ordner projekt/src/main/resources Pakete und Java-Klassen anlege (z.B. ein Servlet), werden die gar nicht von Eclipse übersetzt. Die Icons an den Java-Dateien in den verschiedenen Eclipse-Views sehen auch anders aus als sonst, das "J" ist sozusagen "hohl".
In den Projekt-Properties von Eclipse ist als Source-Folder "projekt/src/main/resources" eingetragen. Auf der Maven-Apache-Seite habe ich die Info gefunden, dass der Pfad zu webapp-Sourcen im Standardfall "projekt/src/main/webapp" lautet = Widerspruch zu dem, was der archetype angelegt hat.
Außerdem fehlen im POM dependencies zu den Tomcat-libs, z.B. zur servlet-api.jar.
Muss ich die manuell hinzufügen?
Habe den Eindruck, dass etwas ganz wesentliches fehlt...
Gibt es noch einen anderen Archetype, mit dem ich eine Tomcat-Servlet-Anwendung erstellen kann?
src/main/java - der Ort für Javaklassen, zB Servlets , wird von diesem Archetype nicht autm. erzeugt
src/main/resources - der Ort für alle Resourcen (nicht Web Ressourcen!), zB. Properties,, XML etc. - da kommen keine Javaklassen rein
src/main/webapp/ - hier sollten deine Webressourcen (JSPs, WEB-INF, CSS, JS, HTML, etc) rein
Nachdem du diese Ordner angelegt hast, am besten nochmal die Projektkonfiguration updaten (Rechtsklick Projekt -> m2)
Nein, natürlich nicht, gehört zur Maven2 Konventionen und daher wird das von Maven/m2eclipse autom. gemacht, deswegen solltest du ja ein "update project configuration" machen nchdem du die Ordner angelegt hattest.
Na Gott sei dank!
Mal ernsthaft, eine WebApp als einstiegsprojekt für Maven2 ist sehr ambitioniert, willst du nicht lieber erst einfache Jars bauen um die Grundlagen ohne viel zusätzliche Komplexität zu begreifen?
Und die Anhängigkeiten zu den libs (Servlet-API etc...) ? Die trägt man manuell ein?
Die trägst du manuell in die pom ein.
Der Archetype den du gewählt hast, ist sehr minimalistisch, er erzeugt ein Projekt das erstmal keine Servlets enthält, daher fehlen die Java Sourcen Ordner und die Dependency Einträge zur Servlet API in der pom.
Es gibt noch viel mehr Archetypes, zB. welche die dir ein komplettes Web Projekt mit Hibernate/Struts/Spring anbindung und passenden Unittests erstellen, ist aber noch komplizierter, vor allem zum Einstieg
Fang klein an, dann hast du schneller Erfolgserlebnisse, und vor allem: Lies die Doku
Ist dir klar warum dein Servlet nicht erkannt wurde? -> falscher Ordner, fehlende Dependency zur Servlet-API
Mal ernsthaft, eine WebApp als einstiegsprojekt für Maven2 ist sehr ambitioniert, willst du nicht lieber erst einfache Jars bauen um die Grundlagen ohne viel zusätzliche Komplexität zu begreifen?
Hab' ich schon, das kriege ich hin.
Die WebApp soll auch nur aus 2-3 Servlets und ebenso vielen JSPs bestehen. Die benötigten, eigenen jars habe ich in ein Nexus-Repo gestellt, die sind auch dort verfügbar.
Es gibt noch viel mehr Archetypes, zB. welche die dir ein komplettes Web Projekt mit Hibernate/Struts/Spring anbindung und passenden Unittests erstellen, ist aber noch komplizierter, vor allem zum Einstieg
Fang klein an, dann hast du schneller Erfolgserlebnisse,
mach ich ja, habe das Maven2-Buch von Addisson-Wesley und surfe so rum :rtfm:
Habe eben auf der Kommandozeile "mvn eclipse:help -Dgoal=eclipse -Ddetail=true" probiert und gesehen, dass es Optionen zum Erstellen von WTP-Projekten gibt. Probiere ich auch mal ...
Ist dir klar warum dein Servlet nicht erkannt wurde? -> falscher Ordner, fehlende Dependency zur Servlet-API