Create a gist now

Instantly share code, notes, and snippets.

@scmy /README.md
Last active Feb 29, 2016

What would you like to do?
Ein einfachen Maven POM File

Schnellbleiche in maven

dieses POM (Project Object Model) organisiert das Bauen (builden) eines Projektes in Java 1.8 und lädt automatisch die Datenbanktreiber für H2 und PostgreSQL herunter - und natürlich die JUnit-Infrastruktur.

Abmachung:

Damit alles so läuft wie erwartet, müssen Java-Quellen im Unterordner

src/main/java 

drin sein, allfällige JUnit-Tests müssen im Ordner

src/test/java

drin sein. (Sie laufen dann bei jedem Bauen automatisch ab.)

Unterstützdende Entwicklungsumgebungen

Für erste Versuche mit maven empfehle ich die Entwicklungsumgebung Netbeans von Oracle. Sie kann hier heruntergeladen werden:
https://netbeans.org/downloads/index.html

Netbeans ist von der Bedienung her am einfachsten, aber natürlich haben auch Eclipse und IntelliJ eine super Maven-Integration.

Doku

Maven ist eine sog. deklarative Sprache. Man gibt nicht an, wie man etwas macht (wie in Ant etc.), sondern was und wann. Dieses Modell ist durch ein Konstrukt von Phasen, Goals und Plug-Ins abgebildet. Wie dieses zusammenspielen, ist etwas versteckt aber gut dokumentiert auf: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ch.zhaw.prog2</groupId>
<artifactId>file-io</artifactId>
<name>file-io</name>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.185</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1200-jdbc41</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Sign in to join this conversation on GitHub.