Spring Boot Projekte mit Apache Maven

Mit Spring Boot und Apache Maven ist es möglich in kürzester Zeit Microservices zu erstellen! In diesem Tutorial möchte ich euch gerne zeigen wie man ein Spring Boot Projekt mit Apache Maven erstellt. Später werden noch weitere Tutorials hinzukommen, die auf dieses Tutorial aufbauen werden.
SpringBoot Maven Logo

Spring Boot – Spring Boot Projekte mit Apache Maven anlegen

Einleitung

In diesem Tutorial möchte ich euch gerne zeigen wie man ein Spring Boot Projekt mit Apache Maven erstellt. Mit Spring Boot und Apache Maven ist es möglich in kürzester Zeit Microservices zu erstellen!  Dieses Tutorial wir der Anfang sein für weitere Tutorials die ich schreiben werde. Es wird eine Serie von Spring Boot und Spring Cloud Tutorials geben. Dieses Spring Boot Tutorial wird die Basis für die anderen Tutorials sein.

Java Projekt mit Apache Maven erstellen

Mit der Eingabe des folgenden Befehles in der Linux oder Windows Console legt man ein leeres Maven Project an!

mvn archetype:generate -DgroupId=de.ertantoker.tutorial -DartifactId=spring-boot-with-maven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Wichtig beim Anlegen eines Maven Projektes ist es, dass man die Parameter „-DgroupId“ und „-DartifactId“ sich den eigenen Projektbedürfnissen anpasst. Ich habe exemplarisch „de.ertantoker.tutorial“ und „spring-boot-with-maven“ eingegeben.

Nach dem das Projekt angelegt ist erscheint im selben Ordner ein Verzeichnis mit dem Namen der „artifactId“, die man zuvor eingegeben hat. In meinem Fall lautet der Name des Verzeichnisses „spring-boot-with-maven“. In dem Verzeichnis befindet sich eine Datei mit dem Namen „pom.xml“ und ein Verzeichnis mit dem Namen „src“. Hier befinden sich alle Source Code Dateien!

Spring Boot Projekt erstellen

Nun kann man das neu angelegte Projekt in einem Source Code Editor seiner Wahl öffnen. Ich werde in meinen Tutorials IntelliJ von Idea verwenden.

Das Projekt hat nun folgende Verzeichnisstruktur.

spring boot apache maven

Maven pom.xml Datei anpassen

Um Spring Boot in seine Projekte einzubinden müssen wir einige Änderungen an der generierten „pom.xml“ vornehmen. Die POM Datei ist die zentrale Konfigurationsdatei für Maven Projekte.

In der aktuellen Form sieht die pom.xml wie folgt aus:

<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.ertantoker.tutorial</groupId>
  <artifactId>spring-boot-with-maven</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>spring-boot-with-maven</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Spring Boot Bibliotheken einbinden

Das Einbinden von Spring Boot ist recht einfach. Als erstes muss die „pom.xml“ so erweitert werden, dass diese eine Erweiterung von der Spring Boot Parent wird. Hierfür sind folgende Änderungen an der pom.xml vorzunehmen:

<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.ertantoker.tutorial</groupId>
  <artifactId>spring-boot-with-maven</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>spring-boot-with-maven</name>
  <url>http://maven.apache.org</url>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
  </parent>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

Spring Boot im Java Projekt aktivieren

Durch das Generieren des Projektes über Maven haben wir auch automatisch eine App.java Klasse erzeugt. Diese ist in der aktuellen Fassung recht simple und bietet keine speziellen Funktion. Damit nun aus einer Java Applikation eine Spring Boot Applikation wird bedarf es einer speziellen Spring Boot Annotation und einem Code in der Main Methode der App.java Klasse.

package de.ertantoker.tutorial;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }
}

Die Annotation @SpringBootApplication konfiguriert die Applikation zu einer Spring Boot Applikation. Diese ist zwingend erforderlich. Die Codezeile „SpringApplication.run(App.class, args);“ dient dazu, dass beim Starten der Java Applikation automatisch eine Spring Boot Applikation gestartet wird.

Spring Boot Projekt testen

Ob wir nun alles richtig gemacht haben können wir mit einem kurzen Test auf der Console überprüfen. Gibt in der Console folgenden Befehl ein:

mvn clean install

Nun fängt Maven an die Applikation zu compilieren und zu bauen. Am Ende erscheint ein neues Verzeichnis mit dem Namen „target“. Hier befindet sich nur die Spring Boot Applikation mit dem Namen „spring-boot-with-maven-1.0-SNAPSHOT.jar“. Wechselt nun in das Verzeichnis „target“ und startet die Spring Boot Applikation mit dem folgenden Befehl:

java -jar spring-boot-with-maven-1.0-SNAPSHOT.jar

Nun wird die Spring Boot Applikation gestartet. Achtet Bitte darauf, dass ein JDK in der Version 1.8 (Java 8) bei euch auf dem System installiert ist. Es ist auch noch zu erwähnen, dass Spring Boot per Default Applikation immer auf dem Port 8080 startet. Dieser Port sollte bei euch nicht belegt sein. Falls ja müsst ihr die Anwendung schließen welches diesen Port nutzt. Alternativ kann man auch über eine Konfigurationsdatei (application.yml) Spring Boot mitteilen, dass er die Applikation auf einem anderen Port starten soll, wie das geht werde ich dann bei einem der nächsten Tutorials zeigen.

Die Spring Boot Applikation ist nun gestartet. Dies erkennen wir an der letzten Zeile: „2018-04-24 18:01:58.992 INFO 26292 — [ main] de.ertantoker.tutorial.App : Started App in 1.899 seconds (JVM running for 2.278)“.

Das Ergebnis

Nachdem die Spring Boot Applikation gestartet ist bietet sie keine echte Funktionalitäten oder Methoden an, daher werden wir in dem nächsten Tutorial die Spring Boot Applikation um einen RestController erweitern!

Ich hoffe euch hat mein kleines Einstiegs-Tutorial in die Spring Boot Welt gefallen. Solltet ihr Fragen, Kritik oder Anregungen haben, dann könnt ihr gerne das Tutorial kommentieren.

Verwandte Beiträge

Comments (3)

Der Befehl:
mvn archetype:generate -DgroupId=de.ertantoker.tutorial -DartifactId=spring-boot-with-maven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Hatte bei mir nicht ordnungsgemäß funktioniert, habe ein Windows Betriebssystem und habe es gelöst durch „“ bei -DgroupId.

Also:
mvn archetype:generate -DgroupId=“de.ertantoker.tutorial“ -DartifactId=spring-boot-with-maven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Sonst hat alles geklappt! Gut geschrieben und simple zu folgen!

Kevin vielen Dank für dein Feedback.

Wenn man sich nur für das Spring Boot Projekt interessiert, ist es einfacher dieses direkt mit dem Spring Initializr generieren zu lassen. Dabei sollte (fast) das gleiche rauskommen. https://start.spring.io/

Leave a comment