Spiller | Maven 3 | E-Book | sack.de
E-Book

E-Book, Deutsch, 368 Seiten

Reihe: mitp Professional

Spiller Maven 3

Konfigurationsmanagement mit Java
1. Auflage 2011
ISBN: 978-3-8266-8398-5
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection

Konfigurationsmanagement mit Java

E-Book, Deutsch, 368 Seiten

Reihe: mitp Professional

ISBN: 978-3-8266-8398-5
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection



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.

Spiller Maven 3 jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Cover
;1
2;Titel
;3
3;Impressum
;4
4;Inhaltsverzeichnis;7
5;Danksagungen;17
6;Vorwort;19
7;Einführung;21
7.1;1.1 Über dieses Buch;22
7.1.1;1.1.1 Für wen ist dieses Buch?;22
7.1.2;1.1.2 Konventionen;24
7.1.3;1.1.3 Sprache;25
7.2;1.2 Das Mavenbuch im Internet;26
7.3;1.3 Kontakt;26
8;Maven im Überblick;27
8.1;2.1 Was ist Maven?;27
8.1.1;2.1.1 POM;27
8.1.2;2.1.2 Lebenszyklen;28
8.1.3;2.1.3 Vereinfachtes Build-Management;28
8.1.4;2.1.4 Trennung von Code und Unit-Tests;28
8.1.5;2.1.5 Verwaltung von Abhängigkeiten;28
8.1.6;2.1.6 Artefakte;29
8.1.7;2.1.7 Informationen zu Codequalität und Projektzustand;29
8.2;2.2 Voraussetzungen;29
8.2.1;2.2.1 Betriebssystem;29
8.2.2;2.2.2 JDK;29
8.2.3;2.2.3 Speicherplatz;29
8.3;2.3 Installation;30
8.4;2.4 Projekt erstellen;31
8.5;2.5 Bauen - Testen - Packen;33
8.5.1;2.5.1 Basisfunktionen;33
8.5.2;2.5.2 Dokumentation;36
8.6;2.6 Projekte erweitern;40
8.7;2.7 Ein Web-Projekt;41
8.7.1;2.7.1 Generieren einer Web-Applikation;41
8.7.2;2.7.2 Servlet-API;43
8.7.3;2.7.3 Ausführen der Web-Anwendung;43
8.8;2.8 Weitere Projekttypen;44
8.9;2.9 Entwicklungsumgebungen;45
8.9.1;2.9.1 Eclipse;45
8.9.2;2.9.2 Netbeans;48
8.9.3;2.9.3 IntelliJ IDEA;48
9;Maven als Konfigurationsmanagement-Tool;49
9.1;3.1 Konfigurationsmanagement;49
9.2;3.2 Elemente des Konfigurationsmanagements;51
9.3;3.3 Von make zu Maven;53
10;Maven-Grundlagen;57
10.1;4.1 Maven ausführen;57
10.1.1;4.1.1 Lifecycles;57
10.1.2;4.1.2 Plugins;57
10.1.3;4.1.3 Kommandozeilenparameter;58
10.1.4;4.1.4 MAVEN_OPTS;60
10.2;4.2 Versionierung;61
10.2.1;4.2.1 Releases;61
10.2.2;4.2.2 Snapshots;61
10.3;4.3 Maven-Konventionen;62
10.3.1;4.3.1 Verzeichnisstruktur;62
10.3.2;4.3.2 Namenskonventionen;64
10.4;4.4 Zugangsdaten verschlüsseln;65
10.4.1;4.4.1 Anlegen eines Masterpassworts;65
10.4.2;4.4.2 Verschlüsseln von Passworten;66
10.5;4.5 Wo erhalte ich Hilfe?;66
10.5.1;4.5.1 Maven-Hilfe im Internet;66
10.5.2;4.5.2 Das Maven-Help-Plugin;67
11;Lifecycles;71
11.1;5.1 Die Standard-Lifecycles;71
11.1.1;5.1.1 Der Default-Lifecycle;72
11.1.2;5.1.2 Der clean-Lifecycle;75
11.1.3;5.1.3 Der Site-Lifecycle;76
12;POM - Das Project Object Model;77
12.1;6.1 Koordinaten;78
12.1.1;6.1.1 Elemente;78
12.2;6.2 Projektbeziehungen;79
12.2.1;6.2.1 Abhängigkeiten;79
12.2.2;6.2.2 Vererbung;80
12.2.3;6.2.3 Aggregation;80
12.3;6.3 Projektinformationen;81
12.3.1;6.3.1 Lizenzen;81
12.3.2;6.3.2 Team-Informationen;82
12.3.3;6.3.3 Organisation;83
12.4;6.4 Build-Einstellungen;84
12.4.1;6.4.1 properties;84
12.4.2;6.4.2 build;84
12.4.3;6.4.3 reporting;88
12.5;6.5 Projektumgebung;89
12.5.1;6.5.1 Build-Umgebung;89
12.5.2;6.5.2 Maven-Umgebung;92
13;Dependencies;97
13.1;7.1 Abhängigkeiten im POM;97
13.1.1;7.1.1 Das dependency-Tag;98
13.1.2;7.1.2 dependencyManagement;101
13.2;7.2 Versionsbereiche;103
13.3;7.3 Transitive Abhängigkeiten;105
13.3.1;7.3.1 Der Gültigkeitsbereich transitiver Abhängigkeiten;106
13.4;7.4 Das Dependency-Plugin;107
13.4.1;7.4.1 Goals;107
13.5;7.5 Welche Koordinaten, Käpt’n?;109
13.5.1;7.5.1 Drittmittel;110
14;Projektbeziehungen;111
14.1;8.1 Vererbung;111
14.2;8.2 Aggregation - Multimodul-Projekte;112
14.2.1;8.2.1 Fischladen;112
15;Repositories;115
15.1;9.1 Lokale und entfernte Repositories;115
15.2;9.2 Repository-Struktur;115
15.3;9.3 Repositories verwenden;116
15.3.1;9.3.1 Das lokale Repository;116
15.3.2;9.3.2 Entfernte Repositories;116
15.3.3;9.3.3 Plugin-Repositories;120
15.3.4;9.3.4 Distribution Management;121
15.4;9.4 Eigene Repositories;122
15.5;9.5 Bibliotheken installieren;123
15.5.1;9.5.1 Installation im lokalen Repository;124
15.5.2;9.5.2 deploy im entfernten Repository;125
16;Plugins;127
16.1;10.1 Ausführen von Plugins;127
16.1.1;10.1.1 Ausführen auf der Kommandozeile;127
16.1.2;10.1.2 Automatisches Ausführen von Plugins;128
16.2;10.2 Deklaration im POM;129
16.2.1;10.2.1 Elemente;129
16.2.2;10.2.2 Die Sektion pluginManagement;130
16.2.3;10.2.3 Plugin-Repositories;131
16.2.4;10.2.4 Versionen und Update von Plugins;131
16.2.5;10.2.5 Externe Konfiguration - Konfigurationsmodule?;132
16.3;10.3 Das Maven-AntRun-Plugin;133
17;Properties und Filtering;135
17.1;11.1 Maven-Properties;135
17.1.1;11.1.1 Projekt-Properties;135
17.1.2;11.1.2 Settings-Properties;136
17.1.3;11.1.3 Umgebungsvariablen;137
17.1.4;11.1.4 System-Properties;137
17.1.5;11.1.5 Properties definieren;138
17.2;11.2 Resource Filtering;139
17.2.1;11.2.1 Filterdateien;140
17.2.2;11.2.2 Excludes;142
17.2.3;11.2.3 Web-Applikationen;142
18;Profile;145
18.1;12.1 Profilarten;145
18.2;12.2 Profilaktivierung;146
18.2.1;12.2.1 Aktivierung über die Kommandozeile;146
18.2.2;12.2.2 Aktivierung in den Settings;147
18.2.3;12.2.3 Aktivierung als Standard;147
18.2.4;12.2.4 Umgebungsabhängige Aktivierung;148
18.2.5;12.2.5 Und wer ist jetzt aktiv?;150
18.3;12.3 Einsatzmöglichkeiten für Profile;150
18.3.1;12.3.1 Standortabhängige Ressourcen;150
18.3.2;12.3.2 Module;151
18.3.3;12.3.3 Dependencies;151
18.3.4;12.3.4 Properties für verschiedene (Test-)Umgebungen;151
18.3.5;12.3.5 Artefakte durch Klassifizierer kennzeichnen;155
18.4;12.4 Konflikte;156
18.4.1;12.4.1 Profile mit gleichem Namen;156
18.4.2;12.4.2 Gleichnamige Eigenschaften;156
19;Maven-SCM;159
19.1;13.1 Versionskontrolle mit dem SCM-Plugin;159
19.1.1;13.1.1 Wird mein Kontrollsystem unterstützt?;159
19.2;13.2 Unterstützte Kommandos;160
19.3;13.3 Anwendung des SCM-Plugins;161
19.3.1;13.3.1 Alles ist wandelbar;161
19.4;13.4 Konfiguration;161
19.4.1;13.4.1 Aufbau der SCM-URL;162
19.4.2;13.4.2 Subversion;162
19.5;13.5 Beispiele;163
19.5.1;13.5.1 Automatisches Kennzeichnen von Releases;165
19.5.2;13.5.2 Sauberes Deployment mit scm:bootstrap;165
20;Software veröffentlichen;167
20.1;14.1 Maven-Release-Plugin;167
20.1.1;14.1.1 Die Vorbereitung des Release - release:prepare;168
20.1.2;14.1.2 Die Ausführung des Release - release:perform;170
20.1.3;14.1.3 Weitere Goals;171
20.2;14.2 Assembly-Plugin;172
20.2.1;14.2.1 Was sind Assemblies?;172
20.2.2;14.2.2 Assembly-Deskriptoren;173
20.2.3;14.2.3 Assembly-Inhalte festlegen;176
20.2.4;14.2.4 Dateien;176
20.2.5;14.2.5 Dependencies;179
20.2.6;14.2.6 Module;181
20.2.7;14.2.7 Repositories;184
20.2.8;14.2.8 Assembly-Deskriptoren weiterverwenden;185
20.3;14.3 Server Deployments mit dem Cargo-Plugin;186
21;Plugins schreiben;191
21.1;15.1 Bestandteile eines Maven-Plugins;191
21.1.1;15.1.1 Plugin Build-Lifecycle;191
21.1.2;15.1.2 Der Plugin-Deskriptor;192
21.1.3;15.1.3 Namenskonventionen;192
21.2;15.2 Mojo;193
21.2.1;15.2.1 Fehlerbehandlung;193
21.2.2;15.2.2 Der Mojo-Logger;194
21.3;15.3 Eigene Plugins schreiben;194
21.3.1;15.3.1 Ein erstes Mojo;194
21.3.2;15.3.2 Das POM;195
21.4;15.4 Parameter;196
21.4.1;15.4.1 Prioritäten;199
21.5;15.5 Parametertypen;199
21.5.1;15.5.1 Skalare Werte;199
21.5.2;15.5.2 Mehrdimensionale Parameter;200
21.5.3;15.5.3 Konfiguration von Parametern;202
21.5.4;15.5.4 Testen von Plugins;204
21.5.5;15.5.5 Dokumentation von Plugins;204
21.5.6;15.5.6 Unterstützte Sprachen;206
22;Maven und Eclipse;207
22.1;16.1 Das Maven-Eclipse-Plugin;207
22.1.1;16.1.1 Goals;207
22.1.2;16.1.2 Vorbereitungen;208
22.1.3;16.1.3 Projektkonfiguration;209
22.2;16.2 Maven ausführen;214
22.2.1;16.2.1 External Tools;214
22.2.2;16.2.2 Maven als Builder in Eclipse;217
22.2.3;16.2.3 Ersetzen des Standard-Eclipse-Builders;218
22.3;16.3 Eclipse-Maven-Plugins;219
22.3.1;16.3.1 M2Eclipse;219
22.3.2;16.3.2 Eclipse IAM;221
23;Reporting und Dokumentation;223
23.1;17.1 Projektdokumentation mit Maven;223
23.2;17.2 Bestandteile;224
23.3;17.3 Projektinformationen;224
23.3.1;17.3.1 Continuous Integration;225
23.3.2;17.3.2 Dependencies;225
23.3.3;17.3.3 Dependency Convergence;227
23.3.4;17.3.4 Issue Tracking;228
23.3.5;17.3.5 Mailing Lists;228
23.3.6;17.3.6 Plugin Management;228
23.3.7;17.3.7 Project License;229
23.3.8;17.3.8 Project Plugins;229
23.3.9;17.3.9 Project Summary;229
23.3.10;17.3.10 Project Team;230
23.3.11;17.3.11 Source Repository;230
23.3.12;17.3.12 Konfiguration der Projektinformationen;230
23.4;17.4 Projekt-Reports;232
23.4.1;17.4.1 Das Javadoc-Plugin;233
23.4.2;17.4.2 Das Surefire-Report-Plugin;233
23.4.3;17.4.3 JXR;234
23.4.4;17.4.4 Weitere Reporting-Plugins;234
23.5;17.5 Eigene Projektdokumentation;241
23.5.1;17.5.1 Doxia - ein Content-Generation-Framework;241
23.5.2;17.5.2 APT - das Maven-Dokument-Format;241
23.5.3;17.5.3 XDOC - das Jakarta-Dokument-Format;246
23.5.4;17.5.4 FML - Frequently Asked Questions;247
23.5.5;17.5.5 Verzeichnisstruktur;249
23.5.6;17.5.6 Internationalisierung;249
23.6;17.6 Der Site-Deskriptor;250
23.6.1;17.6.1 Aufbau;250
23.6.2;17.6.2 Vererbung;254
23.6.3;17.6.3 Look&Feel anpassen;255
23.7;17.7 Multimodul-Projekte;255
23.7.1;17.7.1 Besonderheiten;255
23.8;17.8 Das Maven-Site-Plugin;256
23.8.1;17.8.1 site - goals;257
23.8.2;17.8.2 Module ausschließen;258
23.8.3;17.8.3 Der Site-Lebenszyklus;259
24;Qualitätsmanagement mit Maven;261
24.1;18.1 Continuous Integration;261
24.2;18.2 QS-Plugins;261
24.2.1;18.2.1 Checkstyle;261
24.2.2;18.2.2 PMD;267
24.2.3;18.2.3 FindBugs;271
24.2.4;18.2.4 Surefire;272
24.2.5;18.2.5 Surefire-Reports;273
24.2.6;18.2.6 Cobertura;274
24.2.7;18.2.7 Integrationstests mit dem Failsafe-Plugin;276
24.3;18.3 Tipps und Tricks;278
24.3.1;18.3.1 Source-Encoding;278
24.3.2;18.3.2 Build-Abbruch bei Regelverstößen;278
24.3.3;18.3.3 Konfigurationsmodule;280
24.4;18.4 Erzeugen von Projekt-Templates mit dem Archetype-Plugin;281
24.4.1;18.4.1 Woher bekommt Maven neue Archetypen?;282
24.5;18.5 Firmenweite Einstellungen;283
24.6;18.6 POM-Tuning;284
24.6.1;18.6.1 Konfigurationsmodule;285
25;Änderungen in Maven 3;287
25.1;19.1 Umstieg von Maven 2 auf Maven 3;287
25.2;19.2 Repositories und Dependencies;288
25.3;19.3 Reporting;289
25.4;19.4 Ausführung;289
25.4.1;19.4.1 Neue Kommandozeilen-Parameter;289
25.4.2;19.4.2 Profile;290
25.5;19.5 Und was noch?;290
25.5.1;19.5.1 Mvnsh;290
25.5.2;19.5.2 Polyglot for Maven;291
26;Produkte aus dem Maven-Universum;293
26.1;A.1 Über diesen Anhang;293
26.1.1;A.1.1 Datenbanken;293
26.2;A.2 Apache Archiva;293
26.2.1;A.2.1 Was ist Archiva?;294
26.2.2;A.2.2 Installation;294
26.2.3;A.2.3 Konfiguration;296
26.2.4;A.2.4 Server-Konfiguration;297
26.2.5;A.2.5 Benutzerverwaltung;299
26.2.6;A.2.6 Tipps;301
26.2.7;A.2.7 Literatur;303
26.3;A.3 Continuum;303
26.3.1;A.3.1 Continuous Integration?;303
26.3.2;A.3.2 Installation;304
26.3.3;A.3.3 Konfiguration;306
26.3.4;A.3.4 Und was noch?;312
27;Konfigurationsdateien;315
27.1;B.1 POM - Project Object Model;315
27.1.1;B.1.1 Basiselemente;315
27.1.2;B.1.2 Koordinaten;315
27.1.3;B.1.3 Projektbeziehungen;315
27.1.4;B.1.4 Umgebungseinstellungen;318
27.1.5;B.1.5 Super-POM;323
27.2;B.2 settings.xml;326
27.2.1;B.2.1 Referenz;327
28;Referenzen;331
28.1;C.1 Mojo-Elemente und -Annotations;331
28.1.1;C.1.1 Hauptelemente;331
28.1.2;C.1.2 Mojo-Elemente;331
28.1.3;C.1.3 Parameterelemente und -Annotations;335
28.2;C.2 APT-Kurzreferenz;337
28.3;C.3 Plugin-Versionen in Maven 3.0.3;340
28.4;C.4 Lifecycle-Verknüpfungen;341
28.4.1;3.4.1 Build-Lifecycle;341
28.5;C.5 Namenskonventionen für SUN-JARs;342
29;Literatur;345
30;Stichwortverzeichnis;347


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 .



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.