Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Maven ist ein modernes Buildtool, das nach richtiger Konfiguration der pom.xml und Aufruf über die Shell, die Abhängigkeiten auflöst und benötigte Libraries aus dem Internet runterlädt.
default
ist der Standard und enthält z.B. die Phase compile
die das Projekt baut, package
packt das Archiv zusammen, in target ist dann ein WAR File zu finden. install
installiert das Archiv in das lokale Repository.
groupId
, eine artifactId
und eine version
. Damit wird bei Maven alles identifiziert.
<groupId>de.elsniwiki</groupId> <!-- hier z.B. den Packagenamen verwenden -->
<packaging>jar</packaging> <version>1.0-SNAPSHOT</version>
Hint: Leider kann man die Koordinaten so schreiben, das sie nichts mit der zugrunde liegenden Filestruktur zu tun haben, was gerne für große Verwirrung sorgt.
Maven arbeitet nach Convention over configuration, alles ist festgelegt, es sei den man konfiguriert es um. Man sollte sich an die Verzeichnisstruktur von Maven gewöhnen, so findet man sich schnell in allen Maven Projekten zurecht.
jar
ist im Ergebnis genau eine jar Datei
war
ist ein War File für JEE (gezippter Klotz mit vielen jar Dateien)
pom
es wird kein Archiv gebaut, nur Module sollte man angeben, so kann man beliebige andere Mavenprojekte immer weiter schachteln oder zusammenstellen.
...
...
...
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <fork>true</fork> <compilerArgument>-verbose -Xmx768m</compilerArgument> <!-- <meminitial>128m</meminitial> --> <!-- <maxmem>1024m</maxmem> --> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
mvn versions:display-dependency-updates mvn versions:display-plugin-updates mvn versions:use-latest-versions setzt alles auf die letzte Version