Sie sind hier
E-Book

Maven 3

Konfigurationsmanagement mit Java

AutorMartin Spiller
Verlagmitp Verlags GmbH & Co. KG
Erscheinungsjahr2011
Seitenanzahl368 Seiten
ISBN9783826683985
FormatPDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis23,99 EUR
Maven ist ein Build- und Konfigurationsmanagement-Tool der Apache Software Foundation und basiert auf Java. Mit Maven lassen sich Java-Projekte standardisiert erstellen und verwalten. Ziel ist die Automatisierung und Vereinfachung immer wieder anfallender Aufgaben. Der Autor erläutert die grundlegenden Konzepte und Module von Maven und zeigt, wie diese im Projektalltag eingesetzt werden können. Das Buch richtet sich an Softwareentwickler und -architekten, an technische Projektleiter und alle, die sich mit Konfigurationsmanagement beschäftigen. Zunächst gibt der Autor einen Schnelleinstieg in Maven und erläutert die elementaren Befehle und Konfigurationsschritte, so dass Sie sofort erste Projekte mit Maven erstellen und bearbeiten können. Die folgenden Kapitel vermitteln die grundlegenden Konzepte und Prinzipien z.B. zu Verzeichnis- und Namenskonventionen, Lifecycles, Dependencies, Projektbeziehungen und zum Projektmodell. Alle weiteren Kapitel behandeln einzelne Themen, die im Verlaufe eines Projektes eine Rolle spielen können wie u.a. Repositories, Plugins, das Veröffentlichen von Software, Reporting und Dokumentation sowie Qualitätsmanagement. So erhalten Sie einen umfassenden Einblick in Maven. Dieses Buch eignet sich sowohl als Einführung als auch als Referenz und Arbeitsbuch für die tägliche Praxis.

Martin Spiller ist Diplom-Mathematiker und arbeitet als Softwareentwickler und Berater im Java-Umfeld für die neusta GmbH. Seine Schwerpunkte sind Softwarequalität, Konfigurationsmanagement und Performance-Tuning .

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Cover
1
Titel
3
Impressum
4
Inhaltsverzeichnis7
Danksagungen17
Vorwort19
Einführung21
1.1 Über dieses Buch22
1.1.1 Für wen ist dieses Buch?22
1.1.2 Konventionen24
1.1.3 Sprache25
1.2 Das Mavenbuch im Internet26
1.3 Kontakt26
Maven im Überblick27
2.1 Was ist Maven?27
2.1.1 POM27
2.1.2 Lebenszyklen28
2.1.3 Vereinfachtes Build-Management28
2.1.4 Trennung von Code und Unit-Tests28
2.1.5 Verwaltung von Abhängigkeiten28
2.1.6 Artefakte29
2.1.7 Informationen zu Codequalität und Projektzustand29
2.2 Voraussetzungen29
2.2.1 Betriebssystem29
2.2.2 JDK29
2.2.3 Speicherplatz29
2.3 Installation30
2.4 Projekt erstellen31
2.5 Bauen - Testen - Packen33
2.5.1 Basisfunktionen33
2.5.2 Dokumentation36
2.6 Projekte erweitern40
2.7 Ein Web-Projekt41
2.7.1 Generieren einer Web-Applikation41
2.7.2 Servlet-API43
2.7.3 Ausführen der Web-Anwendung43
2.8 Weitere Projekttypen44
2.9 Entwicklungsumgebungen45
2.9.1 Eclipse45
2.9.2 Netbeans48
2.9.3 IntelliJ IDEA48
Maven als Konfigurationsmanagement-Tool49
3.1 Konfigurationsmanagement49
3.2 Elemente des Konfigurationsmanagements51
3.3 Von make zu Maven53
Maven-Grundlagen57
4.1 Maven ausführen57
4.1.1 Lifecycles57
4.1.2 Plugins57
4.1.3 Kommandozeilenparameter58
4.1.4 MAVEN_OPTS60
4.2 Versionierung61
4.2.1 Releases61
4.2.2 Snapshots61
4.3 Maven-Konventionen62
4.3.1 Verzeichnisstruktur62
4.3.2 Namenskonventionen64
4.4 Zugangsdaten verschlüsseln65
4.4.1 Anlegen eines Masterpassworts65
4.4.2 Verschlüsseln von Passworten66
4.5 Wo erhalte ich Hilfe?66
4.5.1 Maven-Hilfe im Internet66
4.5.2 Das Maven-Help-Plugin67
Lifecycles71
5.1 Die Standard-Lifecycles71
5.1.1 Der Default-Lifecycle72
5.1.2 Der clean-Lifecycle75
5.1.3 Der Site-Lifecycle76
POM - Das Project Object Model77
6.1 Koordinaten78
6.1.1 Elemente78
6.2 Projektbeziehungen79
6.2.1 Abhängigkeiten79
6.2.2 Vererbung80
6.2.3 Aggregation80
6.3 Projektinformationen81
6.3.1 Lizenzen81
6.3.2 Team-Informationen82
6.3.3 Organisation83
6.4 Build-Einstellungen84
6.4.1 properties84
6.4.2 build84
6.4.3 reporting88
6.5 Projektumgebung89
6.5.1 Build-Umgebung89
6.5.2 Maven-Umgebung92
Dependencies97
7.1 Abhängigkeiten im POM97
7.1.1 Das dependency-Tag98
7.1.2 dependencyManagement101
7.2 Versionsbereiche103
7.3 Transitive Abhängigkeiten105
7.3.1 Der Gültigkeitsbereich transitiver Abhängigkeiten106
7.4 Das Dependency-Plugin107
7.4.1 Goals107
7.5 Welche Koordinaten, Käpt’n?109
7.5.1 Drittmittel110
Projektbeziehungen111
8.1 Vererbung111
8.2 Aggregation - Multimodul-Projekte112
8.2.1 Fischladen112
Repositories115
9.1 Lokale und entfernte Repositories115
9.2 Repository-Struktur115
9.3 Repositories verwenden116
9.3.1 Das lokale Repository116
9.3.2 Entfernte Repositories116
9.3.3 Plugin-Repositories120
9.3.4 Distribution Management121
9.4 Eigene Repositories122
9.5 Bibliotheken installieren123
9.5.1 Installation im lokalen Repository124
9.5.2 deploy im entfernten Repository125
Plugins127
10.1 Ausführen von Plugins127
10.1.1 Ausführen auf der Kommandozeile127
10.1.2 Automatisches Ausführen von Plugins128
10.2 Deklaration im POM129
10.2.1 Elemente129
10.2.2 Die Sektion pluginManagement130
10.2.3 Plugin-Repositories131
10.2.4 Versionen und Update von Plugins131
10.2.5 Externe Konfiguration - Konfigurationsmodule?132
10.3 Das Maven-AntRun-Plugin133
Properties und Filtering135
11.1 Maven-Properties135
11.1.1 Projekt-Properties135
11.1.2 Settings-Properties136
11.1.3 Umgebungsvariablen137
11.1.4 System-Properties137
11.1.5 Properties definieren138
11.2 Resource Filtering139
11.2.1 Filterdateien140
11.2.2 Excludes142
11.2.3 Web-Applikationen142
Profile145
12.1 Profilarten145
12.2 Profilaktivierung146
12.2.1 Aktivierung über die Kommandozeile146
12.2.2 Aktivierung in den Settings147
12.2.3 Aktivierung als Standard147
12.2.4 Umgebungsabhängige Aktivierung148
12.2.5 Und wer ist jetzt aktiv?150
12.3 Einsatzmöglichkeiten für Profile150
12.3.1 Standortabhängige Ressourcen150
12.3.2 Module151
12.3.3 Dependencies151
12.3.4 Properties für verschiedene (Test-)Umgebungen151
12.3.5 Artefakte durch Klassifizierer kennzeichnen155
12.4 Konflikte156
12.4.1 Profile mit gleichem Namen156
12.4.2 Gleichnamige Eigenschaften156
Maven-SCM159
13.1 Versionskontrolle mit dem SCM-Plugin159
13.1.1 Wird mein Kontrollsystem unterstützt?159
13.2 Unterstützte Kommandos160
13.3 Anwendung des SCM-Plugins161
13.3.1 Alles ist wandelbar161
13.4 Konfiguration161
13.4.1 Aufbau der SCM-URL162
13.4.2 Subversion162
13.5 Beispiele163
13.5.1 Automatisches Kennzeichnen von Releases165
13.5.2 Sauberes Deployment mit scm:bootstrap165
Software veröffentlichen167
14.1 Maven-Release-Plugin167
14.1.1 Die Vorbereitung des Release - release:prepare168
14.1.2 Die Ausführung des Release - release:perform170
14.1.3 Weitere Goals171
14.2 Assembly-Plugin172
14.2.1 Was sind Assemblies?172
14.2.2 Assembly-Deskriptoren173
14.2.3 Assembly-Inhalte festlegen176
14.2.4 Dateien176
14.2.5 Dependencies179
14.2.6 Module181
14.2.7 Repositories184
14.2.8 Assembly-Deskriptoren weiterverwenden185
14.3 Server Deployments mit dem Cargo-Plugin186
Plugins schreiben191
15.1 Bestandteile eines Maven-Plugins191
15.1.1 Plugin Build-Lifecycle191
15.1.2 Der Plugin-Deskriptor192
15.1.3 Namenskonventionen192
15.2 Mojo193
15.2.1 Fehlerbehandlung193
15.2.2 Der Mojo-Logger194
15.3 Eigene Plugins schreiben194
15.3.1 Ein erstes Mojo194
15.3.2 Das POM195
15.4 Parameter196
15.4.1 Prioritäten199
15.5 Parametertypen199
15.5.1 Skalare Werte199
15.5.2 Mehrdimensionale Parameter200
15.5.3 Konfiguration von Parametern202
15.5.4 Testen von Plugins204
15.5.5 Dokumentation von Plugins204
15.5.6 Unterstützte Sprachen206
Maven und Eclipse207
16.1 Das Maven-Eclipse-Plugin207
16.1.1 Goals207
16.1.2 Vorbereitungen208
16.1.3 Projektkonfiguration209
16.2 Maven ausführen214
16.2.1 External Tools214
16.2.2 Maven als Builder in Eclipse217
16.2.3 Ersetzen des Standard-Eclipse-Builders218
16.3 Eclipse-Maven-Plugins219
16.3.1 M2Eclipse219
16.3.2 Eclipse IAM221
Reporting und Dokumentation223
17.1 Projektdokumentation mit Maven223
17.2 Bestandteile224
17.3 Projektinformationen224
17.3.1 Continuous Integration225
17.3.2 Dependencies225
17.3.3 Dependency Convergence227
17.3.4 Issue Tracking228
17.3.5 Mailing Lists228
17.3.6 Plugin Management228
17.3.7 Project License229
17.3.8 Project Plugins229
17.3.9 Project Summary229
17.3.10 Project Team230
17.3.11 Source Repository230
17.3.12 Konfiguration der Projektinformationen230
17.4 Projekt-Reports232
17.4.1 Das Javadoc-Plugin233
17.4.2 Das Surefire-Report-Plugin233
17.4.3 JXR234
17.4.4 Weitere Reporting-Plugins234
17.5 Eigene Projektdokumentation241
17.5.1 Doxia - ein Content-Generation-Framework241
17.5.2 APT - das Maven-Dokument-Format241
17.5.3 XDOC - das Jakarta-Dokument-Format246
17.5.4 FML - Frequently Asked Questions247
17.5.5 Verzeichnisstruktur249
17.5.6 Internationalisierung249
17.6 Der Site-Deskriptor250
17.6.1 Aufbau250
17.6.2 Vererbung254
17.6.3 Look&Feel anpassen255
17.7 Multimodul-Projekte255
17.7.1 Besonderheiten255
17.8 Das Maven-Site-Plugin256
17.8.1 site - goals257
17.8.2 Module ausschließen258
17.8.3 Der Site-Lebenszyklus259
Qualitätsmanagement mit Maven261
18.1 Continuous Integration261
18.2 QS-Plugins261
18.2.1 Checkstyle261
18.2.2 PMD267
18.2.3 FindBugs271
18.2.4 Surefire272
18.2.5 Surefire-Reports273
18.2.6 Cobertura274
18.2.7 Integrationstests mit dem Failsafe-Plugin276
18.3 Tipps und Tricks278
18.3.1 Source-Encoding278
18.3.2 Build-Abbruch bei Regelverstößen278
18.3.3 Konfigurationsmodule280
18.4 Erzeugen von Projekt-Templates mit dem Archetype-Plugin281
18.4.1 Woher bekommt Maven neue Archetypen?282
18.5 Firmenweite Einstellungen283
18.6 POM-Tuning284
18.6.1 Konfigurationsmodule285
Änderungen in Maven 3287
19.1 Umstieg von Maven 2 auf Maven 3287
19.2 Repositories und Dependencies288
19.3 Reporting289
19.4 Ausführung289
19.4.1 Neue Kommandozeilen-Parameter289
19.4.2 Profile290
19.5 Und was noch?290
19.5.1 Mvnsh290
19.5.2 Polyglot for Maven291
Produkte aus dem Maven-Universum293
A.1 Über diesen Anhang293
A.1.1 Datenbanken293
A.2 Apache Archiva293
A.2.1 Was ist Archiva?294
A.2.2 Installation294
A.2.3 Konfiguration296
A.2.4 Server-Konfiguration297
A.2.5 Benutzerverwaltung299
A.2.6 Tipps301
A.2.7 Literatur303
A.3 Continuum303
A.3.1 Continuous Integration?303
A.3.2 Installation304
A.3.3 Konfiguration306
A.3.4 Und was noch?312
Konfigurationsdateien315
B.1 POM - Project Object Model315
B.1.1 Basiselemente315
B.1.2 Koordinaten315
B.1.3 Projektbeziehungen315
B.1.4 Umgebungseinstellungen318
B.1.5 Super-POM323
B.2 settings.xml326
B.2.1 Referenz327
Referenzen331
C.1 Mojo-Elemente und -Annotations331
C.1.1 Hauptelemente331
C.1.2 Mojo-Elemente331
C.1.3 Parameterelemente und -Annotations335
C.2 APT-Kurzreferenz337
C.3 Plugin-Versionen in Maven 3.0.3340
C.4 Lifecycle-Verknüpfungen341
3.4.1 Build-Lifecycle341
C.5 Namenskonventionen für SUN-JARs342
Literatur345
Stichwortverzeichnis347

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

Das Grundeigentum

Das Grundeigentum

Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...