Ich versuche, eine sehr einfache Webapp mit Maven und Eclipse zu erstellen, aber ich habe überhaupt keine Freude, im Gegenteil.
Ich gehe zu File -> New Project, wähle Maven Project und dann maven-archetype-webapp. Wenn ich den Assistenten beende, wird eine Webapp-Struktur generiert, aber ohne „Java“-Verzeichnis unter main, nur Ressourcen und Webapp.
Also klicke ich mit der rechten Maustaste auf main und wähle new Class aus. Die Klasse wird unter Ressourcen erstellt (?!), und außerdem scheint es keine Kompilierung von ihr durch Java zu geben. Ich kann dumme Fehler machen und es kommt kein Syntax-Highlighting. Es ist, als würde Java es nicht erkennen.
Alternativ habe ich versucht, ein neues ‚Java‘-Verzeichnis unter main zu erstellen, wo es sein sollte, aber immer noch mit den gleichen nicht vorhandenen Java-Symptomen.
Was gibt? Das macht mich wahnsinnig..
Danke an alle!
Jungs – vielen Dank! Ich habe gerade Pascals einfache Lösung ausprobiert und es funktioniert. Ich werde alles ausprobieren, was du vorschlägst.
– Jeremy
15. Juni 2010 um 13:21 Uhr
Erstellen Sie einfach eine java Verzeichnis unter main (dh src/main/java) und Rechtsklick auf Ihr Projekt und wählen Sie aus Maven > Projektkonfiguration aktualisieren.
Ich weiß, dass dies eine alte Frage ist, aber sie ist immer noch ein Top-Hit bei Google, also frage ich mich nur, ob jemand Tongas Frage unten beantworten und erklären kann, warum Maven dies nicht einfach als Standard einschließt? Gibt es zum Beispiel eine Denkschule innerhalb von Maven, dass diese Verzeichnisstruktur aus irgendeinem Grund nicht „gut“ für Web-Apps ist?
– Mick
16. Juni 2014 um 11:22 Uhr
Udayan
Wenn Sie ein Projekt mit dem Maven-Archetyp „maven-archetype-webapp“ erstellen, werden standardmäßig keine Java- und Testordner erstellt.
Sie können diese Ordner manuell als src/main/java und src/test/java hinzufügen.
Nachdem Sie diese Ordner hinzugefügt haben, klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projekt-Explorer, gehen Sie zu maven> update project conf.
Dies ist der seltsamste Teil von Maven. Warum nicht src/main/java, src/test/java, src/test/resources zusammen erstellen, wenn der Webapp-Archetyp erstellt wird? Ist das nicht ein Fehler von Maven?
– Tonga
4. Dezember 2013 um 17:59 Uhr
Linz
Erstellen Sie einfach ein Java-Verzeichnis unter main (dh src/main/java) und klicken Sie mit der rechten Maustaste -> Pfad erstellen -> Quellordner verwenden
Alles andere hängt wahrscheinlich vom Archetyp ab und davon, wie Sie Ihren konfiguriert haben pom.xml. Die von Ihnen beschriebene Verzeichnisstruktur ist mit der identisch maven-archetype-webapp erstellt auf der Kommandozeile.
Dies ist ein großartiger Artikel, den ich gelesen habe, als ich Probleme hatte zu verstehen, wie man mit Maven mehrere Projekte zu einem zusammenbaut. In diesem Artikel wird insbesondere erläutert, wie Sie ein WEB-Projekt (WAR-Datei) einrichten, um ein internes Standard-Java-Projekt (JAR-Datei) zu verwenden.
Wenn Sie ein grundlegendes Verständnis von Maven haben, fahren Sie mit den Abschnitten am Ende fort: Wie erstelle ich andere Arten von Projekten? Wie erstelle ich mehr als ein Projekt gleichzeitig?
Vielen Dank für den Link zum Verständnis der Art und Weise, wie Maven mehrere Projekte verwendet.
– asg
10. Januar 2015 um 18:36 Uhr
Süsser Islam
Erstellen Sie einfach einen neuen Ordner namens java unter src/main/
Klicken Sie dann mit der rechten Maustaste auf das Projekt und wählen Sie maven->Projekt aktualisieren
Vielen Dank für den Link zum Verständnis der Art und Weise, wie Maven mehrere Projekte verwendet.
– asg
10. Januar 2015 um 18:36 Uhr
Goibniu
Es gibt eine Option zum Erstellen eines Quellverzeichnisses in Eclipse. Oder Sie können unter Projekteigenschaften zum Erstellungspfad gehen und ein vorhandenes Verzeichnis als Quellverzeichnis hinzufügen.
Wenn Sie eine nicht standardmäßige Verzeichnisstruktur verwenden, müssen Sie diese jedoch in maven angeben
Jungs – vielen Dank! Ich habe gerade Pascals einfache Lösung ausprobiert und es funktioniert. Ich werde alles ausprobieren, was du vorschlägst.
– Jeremy
15. Juni 2010 um 13:21 Uhr