Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite...

43
© OPITZ CONSULTING GmbH 2010 Seite 1 Automatischer Build mit Maven Stefan Scheidt, Senior Architekt OPITZ CONSULTING Gummersbach GmbH Automatischer Build mit Maven

Transcript of Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite...

Page 1: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 1 Automatischer Build mit Maven

Stefan Scheidt, Senior Architekt

OPITZ CONSULTING Gummersbach GmbH

Automatischer Build mit Maven

Page 2: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 2 Automatischer Build mit Maven

Wer ist OPITZ CONSULTING?

Ihr Projektspezialist für Java, SOA und Oracle

Last Minute: Offizieller OC 1

Seiter Von Tom

Page 3: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 3 Automatischer Build mit Maven

Wer bin ich?

Page 4: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 4 Automatischer Build mit Maven

Der Softwarearchitekt…

Page 5: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 5 Automatischer Build mit Maven

Der Coach…

Page 6: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 6 Automatischer Build mit Maven

Der Referent…

Page 7: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 7 Automatischer Build mit Maven

Der Autor...

Page 8: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 8 Automatischer Build mit Maven

Der Vater...

Page 9: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 9 Automatischer Build mit Maven

Und jetzt Sie...

Page 10: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 10 Automatischer Build mit Maven

(Keine) Motivation

In diesem Vortrag keine Motivation für Build-Automatisierung

Aber Erinnerung an ein paar Ziele:

  Automatisiertes Testen

  Continuous Integration

  Code-Qualität

Page 11: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 11 Automatischer Build mit Maven

Was ist Maven?

  „a Yiddish word meaning accumulator of knowledge “

  „a Software Project Management Tool“

  Ein deklaratives Build-System  Convention over Configuration  Wiederverwendung durch Plugins  Dependency Management

  Ein Tool für technisches Projekt-Reporting

Page 12: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 12 Automatischer Build mit Maven

Was ist Maven? (2)

  Ein Open-Source-Projekt bei Apache

  Entstanden 2002 für diverse Apache-Projekte

  Ziel: Vereinheitlichen von  Build  Verteilung  Erstellen einer Projekt-Webseite   ... Don‘t repeat yourself!

Siehe auch http://maven.apache.org/what-is-maven.html

Page 13: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 13 Automatischer Build mit Maven

Das „Project Object Model“ (POM)

  Beschreibt ein Projekt für Maven durch...  „Artefakt-Koordinaten“   Informationen für die Webseite  „Inhalt“ des Projekt  Abhängigkeiten des Projekt  Packaging Type (jar, war, ear, ...)

...als XSD-basierte XML-Datei

Page 14: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 14 Automatischer Build mit Maven

(Nahezu) minimales POM

<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/maven-­‐v4_0_0.xsd“>  

       <modelVersion>4.0.0</modelVersion>  

       <groupId>de.opitzconsulting</groupId>  

       <artifactId>hellomaven</artifactId>  

       <version>1.0.0-­‐SNAPSHOT</version>  

       <packaging>jar</packaging>  

       <name>Hello  Maven</name>  

       <description>Simple  Maven  Project</description>  

</project>  

Page 15: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 15 Automatischer Build mit Maven

Convention over Configuration

  Diese Projektbeschreibung wird durch Voreinstellungen ergänzt, ...

  ... die im „Super POM“ definiert sind http://maven.apache.org/pom.html#The_Super_POM

  Dadurch kann man jetzt schon kompilieren, (JUnit-)Tests ausführen, JAR bauen, JAR verteilen, Projekt-Website generieren.

  In diesem Sinne „Convention over Configuration“

Page 16: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 16 Automatischer Build mit Maven

Standard-Verzeichnisstruktur

/src/main/java  

/src/main/resources  

/src/main/webapp  

/src/test/java  

/src/test/resources  

/target/classes  

/target/test-­‐classes  

Page 17: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 17 Automatischer Build mit Maven

Maven Plugins

  Im Kern ist Maven eine Laufzeitumgebung für Plugins

  Diese stellen die eigentlichen Build-Funktionen als „Goals“ zur Verfügung

  Das „Super POM“ macht die gebräuchlichsten Plugins verfügbar (compile, test, jar/war, ...)

  Weitere Plugins können in Projekt-POM registriert werden

Page 18: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 18 Automatischer Build mit Maven

Beispiel: Jetty Plugin

<!-­‐-­‐  ...  -­‐-­‐>  

<build>  

       <plugins>  

               <plugin>  

                       <groupId>org.mortbay.jetty</groupId>  

                       <artifactId>maven-­‐jetty-­‐plugin</artifactId>  

               </plugin>  

       </plugins>  

</build>  

<!-­‐-­‐  ...  -­‐-­‐>  

...und „mvn jetty:run“ startet Jetty

Page 19: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 19 Automatischer Build mit Maven

Build Lifecycle

  Sequenz von „Build-Phasen“

  Eingebaute Lifecycle: „clean“, „default“, „site“

  Auszug aus Default Lifecycle:

validate  

compile  

test  

package  

verify  

install  

deploy  int.-­‐test  test-­‐comp.  

Page 20: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 20 Automatischer Build mit Maven

Build Lifecycle (2)

  Plugin Goals können an Lifecycle-Phasen gebunden werden

  Binding wird durch Packaging Type ausgewählt

  Die Standardkonfiguration gibt bereits Bindungen vor

  Plugins können  neue Bindungen definieren  Bindungen und Lifecycle anpassen  neue Packaging Types definieren

Page 21: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 21 Automatischer Build mit Maven

Beispiel: Binding für jar/war

Lifecycle  Phase   Plugin:Goal  compile   compiler:compile  

test-­‐compile   compiler:testCompile  

test   surefire:test  

package   jar:jar  (war:war)  

Auszug aus dem Lifecycle Binding für Packaging Type jar und war

Page 22: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 22 Automatischer Build mit Maven

Beispiel: Custom Binding (1)

<plugin>          <groupId>org.codehaus.mojo</groupId>          <artifactId>sql-­‐maven-­‐plugin</artifactId>          <!-­‐-­‐  ...  -­‐-­‐>          <executions>                  <execution>                          <id>create-­‐schema-­‐before-­‐test</id>                          <!-­‐-­‐  ...  -­‐-­‐>                  <execution>                  <execution>                          <id>drop-­‐schema-­‐after-­‐test</id>                          <!-­‐-­‐  ...  -­‐-­‐>                  <execution>          </executions>  </plugin>  

Auszug aus einem POM: Konfiguration für SQL Plugin mit zwei Executions

Page 23: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 23 Automatischer Build mit Maven

Beispiel: Custom Binding (2)

<execution>          <id>create-­‐schema-­‐before-­‐test</id>          <phase>pre-­‐integration-­‐test</phase>          <goals>                  <goal>execute</goal>          </goals>          <configuration>                  <srcFiles>                          <srcFile>                                  src/main/sql/schema-­‐create.sql                          </srcFile>                  </srcFiles>          </configuration>  </execution>  

Auszug aus einem POM: Execution-Konfiguration für die Phase „pre-integration-test“

Page 24: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 24 Automatischer Build mit Maven

POMs und Vererbung

  POMs können von einem Parent POM erben

  Wurzel ist das „Super POM“

  Ein Parent POM kann vererben:  Plugin-Konfigurationen  Dependencies  vieles mehr...

  Häufig in Verbindung mit Multimodul-Projekten

Page 25: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 25 Automatischer Build mit Maven

Multimodul-Projekte

  Ein Maven-Projekt kann nur ein Artefakt produzieren

  Maven forciert dadurch die Aufteilung eines Projekts auf mehrere Sub-Projekte

  Diese können durch ein Multimodul-Projekt zusammengefasst und gemeinsam gebaut werden

  Multimodul-POM ist meist auch Parent POM

Page 26: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 26 Automatischer Build mit Maven

Beispiel: Multimodul-Projekt

opitztoys.project  

opitztoys.domain  

opitztoys.service  

opitztoys.service.impl  

opitztoys.webapp  

„inherits  from“  

„aggregates“  

„Dependency“  

<<run7me>>  

Page 27: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 27 Automatischer Build mit Maven

Dependency Management

  Dependencies beschreiben Abhängigkeiten zu Java-Bibliotheken (JARs)

  werden über „Artefakt-Koordinaten“ spezifiziert

  können durch „Scopes“ (compile, test, runtime, provided, ...) qualifiziert werden

  werden bei Bedarf aus einem „Remote Repository“ heruntergeladen

Page 28: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 28 Automatischer Build mit Maven

Beispiel: Dependency zu JUnit 4.4

<dependencies>  

       <!-­‐-­‐  JUnit  -­‐-­‐>  

       <dependency>  

               <groupId>junit</groupId>  

               <artifactId>junit</artifactId>  

               <version>4.4</version>  

               <scope>test</scope>  

       </dependency>  

       <!-­‐-­‐  ...  -­‐-­‐>  

</dependencies>  

Page 29: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 29 Automatischer Build mit Maven

Maven Repositories

  Stellen Artefakte bereit

  Lokal: im Filesystem („~/.m2/repository“)

  Remote: als „Web Service“ zum Download

  Default Remote Repository: http://repo1.maven.org/maven2

  Weitere Repositories können im Projekt-POM registriert werden

Page 30: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 30 Automatischer Build mit Maven

Maven Repositories (2)

repo1.maven.org  

repository.springsource.com  

repository.jboss.org  

~/.m2/repository  

pom.xml  

Dependency  

On  Demand  Download  

Page 31: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 31 Automatischer Build mit Maven

Repository Manager

  Stellt Remote Repository Service bereit

  Zweck:  Zentraler Proxy für benötigte Remote Repositories  Bereitstellung nicht öffentlich verfügbarer JARs  Kontrolle über verwendete JARs  Verteilung selbsterstellter Artefakte

Page 32: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 32 Automatischer Build mit Maven

Repository Manager (2)

repo1.maven.org  

repository.springsource.com  

repository.jboss.org  

~/.m2/repository  

pom.xml  

Dependency  

On  Demand  Download  

Repository  Manager  

Page 33: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 33 Automatischer Build mit Maven

Repository Manager (3)

  Empfehlung: Repository Manager einsetzen!  Pro Projekt  Unternehmensweit  Ggf. gestaffelt: Unternehmen & pro Projekt

  Einige R.M.-Implementierungen:  Sonatype Nexus http://nexus.sonatype.org/  JFrog Artifactory http://www.jfrog.org/products.php  Archiva http://archiva.apache.org/

Page 34: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 34 Automatischer Build mit Maven

Site-Generierung

  Webseite mit „Projektsteckbrief“

  Einbetten von JavaDoc und Projektdoku.

  Einbetten von Berichten durch Reporting-Plugins: Checkstyle, JUnit/TestNG, Corbatura, PMD, FindBugs, JDepend, ...

  Beispiele: Siehe Open-Source-Projekte, die Maven verwenden...

Page 35: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 35 Automatischer Build mit Maven

Maven und IDEs

  Eclipse  eclipse: Maven Plugin für Eclipse  m2eclipse: Eclipse Plugin für Maven  Eclipse IAM: Integration von eclipse.org

  NetBeans Ab Version 6.7 direktes Ausführen von Maven

  IntelliJ Build-In-Support für Import von Maven-Projekten

Page 36: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 36 Automatischer Build mit Maven

Maven und Continuous Integration

Support durch diverse CI-Server

  CruiseControl

  Continuum

  Hudson

  TeamCity

  Bamboo

  ...

Page 37: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 37 Automatischer Build mit Maven

Maven und OSGi

  Auf den ersten Blick passen Maven und OSGi gut zusammen

  Die Dependency-Konzepte unterscheiden sich aber grundlegend... Und: „Wer ist der Boss“?

  Es gibt aber Integrationssupport  Maven-Bundle-Plugin http://tinyurl.com/66q93b

 Pax Construct http://www.ops4j.org/projects/pax/construct

 SpringSource Bundlor http://www.springsource.org/bundlor

 Tycho http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project+overview

Page 38: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 38 Automatischer Build mit Maven

Maven 3

Quelle: Jason van Zyl, Maven Reloaded, Devoxx 2010

Page 39: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 39 Automatischer Build mit Maven

Maven 3

  Umfangreiches Refactoring der Codebase

  Neue API für Artifact Resolution

  Beschleunigung des Build-Prozesses durch Caching

  Verbesserungen für Multimodul-Projekte

  Bessere Unterstützung für IDE-Integration

  Kompatibilität mit Maven 2 wird durch Integrationstests sichergestellt

  Siehe auch http://www.sonatype.com/events/meetup0309/jason-on-maven3

Page 40: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 40 Automatischer Build mit Maven

Fazit und Bewertung

  Standardisierung zahlt sich bei einer großen Zahl von Projekten aus

  Schnelle Ergebnisse bei Standard-Anforderungen

  Für komplexere Anpassungen ist jedoch umfangreiche Einarbeitung nötig

  Passt evtl. nicht bei sehr individuellen Anforderungen (bzw. sehr großer Aufwand)

Page 41: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 41 Automatischer Build mit Maven

Links   Projekt-Seite

http://maven.apache.org/   Maven The Definitive Guide

http://www.sonatype.com/books/maven-book/reference/   DZone Refcard

http://refcardz.dzone.com/refcardz/apache-maven-2   Maven How Tos

http://www.sonatype.com/people/2009/04/summary-of-maven-how-tos/   Nexus

http://nexus.sonatype.org/   Artifactory

http://www.jfrog.org/products.php   m2eclipse

http://m2eclipse.codehaus.org/

Page 42: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 42 Automatischer Build mit Maven

Fragen und Antworten

Page 43: Automatischer Build mit Maven · Automatischer Build mit Maven © OPITZ CONSULTING GmbH 2010 Seite 2 Wer ist OPITZ CONSULTING? Ihr Projektspezialist für Java, SOA und Oracle

© OPITZ CONSULTING GmbH 2010 Seite 43 Automatischer Build mit Maven

Kontakt

Stefan Scheidt, Senior Architekt

OPITZ CONSULTING Gummersbach GmbH

Kirchstraße 6, 51647 Gummersbach

[email protected]