Maven und JEE Projekte

oder warum funktioniert

mvn archetype:create
-DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-j2ee-simple

nicht.

Das Problem scheint meiner Meinung nach an der Pflege dieses Archetypes zu liegen! Aber man kann sich sehr einfach behelfen indem man zwei separate Projekte erstellt. Im ersten Projekt werden die EJBs erstellt und das zweite dient als EAR-Container. Zum Erstellen verwendet man den Befehl

mvn archetype:create
-DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]

Danach muss man die pom.xml im EJB-Projekt noch anpassen. Wichtig ist den Inhalt des Tags packaging auf ejb zu ändern und innerhalb des Tags build das Maven-EJB-Plugin konfigurieren. Z.B.:

<build>
<plugins>
  <plugin>
    <groupid>org.apache.maven.plugins</groupid>
    <artifactid>maven-ejb-plugin</artifactid>
    <configuration>
      <ejbversion>3.0</ejbversion>
    </configuration>
  </plugin>
</plugins>
</build>

Um EJB 3.0 zu benutzen lohnt sich die Geronimo-API🙂.

<dependency>
  <groupid>org.apache.geronimo.specs</groupid>
  <artifactid>geronimo-ejb_3.0_spec</artifactid>
  <version>1.0-M1</version>
  <scope>provided</scope>
</dependency>

Fertig mit dem EJB! Nun gehts an das EAR. Hier erstellt man das Projekt auch als einfaches Java-Projekt und ändert den Inhalt des packaging Tags zu ear. Danach als dependency das EJB-Projekt einfügen und ebenfalls im build Abschnitt konfigurieren.

<dependency>
  <groupid>com.example.sandbox</groupid>
  <artifactid>sandbox-ejb</artifactid>
  <version>1.0-SNAPSHOT</version>
  <type>ejb</type>
</dependency>
<plugin>
  <artifactid>maven-ear-plugin</artifactid>
  <configuration>
    <modules>
      <ejbmodule>
        <!-- property configurations goes here -->
        <groupid>com.example.sandbox</groupid>
        <artifactid>sandbox-ejb</artifactid>
      </ejbmodule>
    </modules>
  </configuration>
</plugin>

Voila!

Schlagwörter: , , ,

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: