Java EE 7 Projekt mit aktuellem Maven-Archtype aufsetzen

In unserem Buch Workshop Java EE 7 haben wir auf Seite 279 ein neues Java EE 7 Projekt mit der Hilfe eines Maven-Archtypes aufgesetzt. Zum Zeitpunkt des Drucks stand dabei lediglich die Version 0.3 des Archtypes zur Verfügung, nun existiert dieser in Version 1.1.

Die Änderungen halten sich in Grenzen, wir müssen in dieser Version allerdings nicht mehr die Aktualisierung der Java-EE-7-API (S. 281) vornehmen, da dieser Archtype die finale Version der Java EE 7 APIs referenziert.

Der Rest des Buches gilt unverändert und der neue Archtype kann ohne Probleme für den Workshop eingesetzt werden.

Um den Archtype zu verwenden führen Sie bitte folgenden Maven-Befehl aus:

mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DarchetypeVersion=1.1

Dieser ersetzt diesen, der ihm Buch beschrieben wurde:

mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DarchetypeVersion=0.3-SNAPSHOT -DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots

Bitte beachten Sie: Dieser Archtype darf nur für das Projekt my-aktion-monitor, nicht für my-aktion verwendet werden.

  • Steffen Leger

    Der auf S. 24 angegebene mvn Aufruf zeigt beim Anlgen des Projekts den Fehler:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: The desired archetype does not exist (org.apache.maven.archetypes:jboss-javaee6-webapp-blank-archetype:7.1.1.Final) -> [Help 1]

    Das von ihnen beschriebene Archetype für JBoss scheint nicht zu existieren. Auch eine direkte Suche im maven-Web-verzeichnis war erfolglos.
    Stimmt der Text oder gibt es einen alternativen Aufruf?

    Freundliche Grüße
    Steffen Leger

    • Marcus Schiesser

      hmm, der Archtype ist immer noch in Maven-Central vorhanden (siehe http://search.maven.org/#artifactdetails%7Corg.jboss.spec.archetypes%7Cjboss-javaee6-webapp-blank-archetype%7C7.1.1.Final%7Cmaven-archetype) – Hat ein anderer Leser ein ähnliches Problem?

      • b

        Ich arbeite mich auch gerade durch das Buch. Ich nutze einen Mac anstatt Windows wie im Buch beschrieben. Daran soll es wohl nicht scheitern…

        Jedenfalls erhalte ich die gleiche Fehlermeldung. Was kann ich dagegen tun?

        Über Hilfe würde ich mich sehr freuen.

      • Herrmann

        Ja, das Problem besteht weiterhin. Es kann weder jboss-javaee6-webapp-blank-archetype noch jboss-javaee6-webapp-archetype verwendet werden. Statt org.jboss.spec.archetypes wird in org.apache.maven gesucht. Verwende maven 3.0.5

      • Daniel Mager

        Das Problem besteht auch bei mir weiterhin. Verwende Maven 3.1.1 auf einem Windows 8-System.

        • Semi

          Finde das schon eine Frechheit, dass das Problem weiterhin noch besteht, und vom Verfasser keine Lösung angeboten wird???

          • Marcus Schiesser

            Es tut uns leid, aber wir koennen nicht alle moeglichen Konfigurationen testen. Die im Buch verwendete funktioniert, wie auch andere Leser bestaetigen.

          • René

            Bei mir hatte sich ein Tippfehler eingeschlichen der diesen Fehler verursacht hat.
            Bei
            -DarchetypeGroupId=org.jboss.spec.archetypes
            hatte ich das s bei archetypes am ende vergessen. Schaut nach ob ihr alles richtig geschrieben habt.

    • ki

      Anhand der Fehlermeldung ist ersichtlich, dass der Archetpye im falschen Gruppenverzeichnis gesucht wird. Vermutlich hat sich in die Angabe der artifactGroupId ein Typo eingeschlichen.

      Um mühseliges Abtippen und Vergleichen abzukürzen poste ich einmal den entsprechen Aufruf, der z.B. mit einem frischen mvn 3.0.5 unter Ubuntu 12.4 funktioniert:

      mvn archetype:generate \
      -DarchetypeArtifactId=jboss-javaee6-webapp-blank-archetype \
      -DarchetypeGroupId=org.jboss.spec.archetypes \
      -DarchetypeVersion=7.1.1.Final \

  • Steffen Leger

    Wenn ich maven wie auf S.24 beschrieben aufrufe, findet er den Archetype nicht, weil das artefact im falschen webarchiv gesucht wird:

    [INFO] Generating project in Interactive mode
    Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/jboss-javaee6-webapp-blank-archetype/7.1.1.Final/jboss-javaee6-webapp-blank-archetype-7.1.1.Final.jar
    …und nicht in
    http://repo1.maven.org/maven2/org/jboss/spec/archetypes/jboss-javaee6-webapp-blank-archetype/7.1.1.Final/jboss-javaee6-webapp-blank-archetype-7.1.1.Final.jar, d.h. maven schiebt sucht unter “org/apache/maven” und nicht in “org/jboss/spec”, wie es sollte. Woran liegt das bzw. wie kann ich das ändern?

    Grüße
    Steffen Leger

  • Torsten

    ich habe glaub ich einen klitzekleinen Fehler gefunden. Auf Seite 95 fehlt

    import java.io.Serializable;

  • Jörg

    Hallo Freunde,
    ich arbeite mit Ubuntu und maven wie auf Seite 24 beschreiben laufen lassen. Es gab keine Fehler.
    Viele Grüße
    Jörg

  • Niels

    Moin!

    Wenn ich mit dem Maven Architype webapp-javaee7 das Projekt baue und deploye, wird die Seite nicht unter …/my-aktion/index.jsf gefunden (HTTP/404), sondern unter …/my-aktion-1.0-SNAPSHOT/index.xhtml

    Behoben habe ich das Problem dadurch, dass ich in der pom.xml unter /pom:project/pom:build/pom:finalName “my-aktion” eingetragen habe:

    my-aktion
    ….

    • Marcus Schiesser

      Danke für den Hinweis. Beachten Sie allerdings, dass dieser Archetype für das Projekt my-aktion-monitor und nicht für das Projekt my-aktion verwendet werden soll. Für das Projekt my-aktion-monitor wird diese Änderung im Buch beschrieben.

  • Niels

    Moin!

    Hinweis für alle IntelliJ Benutzer:
    Wenn Ihr das JBoss-Plugin verwendet und in der Run Configuration immer die Fehlermeldung “Error: Artifact ‘my-aktion:war exploded’ has invalid extension” erhaltet, müsst Ihr in “Project Structure” -> “Artifacts” -> “my-aktion:war exploded” als “Output directory” –> “…/my-aktion.war” als Verzeichnis eingeben.

    • Niels

      Ach ja: Vergesst nicht, mit “mvn clean” das target-Verzeichnis aufzuräumen, sonst lauft Ihr auf einen Fehler.

  • Michél Henkel

    Hallo.

    Ich habe wie auf Seite 25 beschrieben erfolgreich das Webarchiv auf dem JBoss Appilkations-Server deployed. (Mir wurde eine Erfolgsmeldung in der Windows Eingabeaufforderrung ausgegeben.)

    Wen ich jetzt allerdings folgende URL aufrufe, findet Firefox keine Seite.

    http://localhost:8080/my-aktion/index.jsf.

    Auch mit index.xhtml wurde nichts gefunden. Woran liegt das?