· 6 years ago · Nov 17, 2019, 04:38 PM
1<?xml version="1.0" encoding="UTF-8"?>
2
3<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">
4 <!-- Version von Maven -->
5 <modelVersion>4.0.0</modelVersion>
6
7 <!-- Grundangaben zum Maven-Projekt -->
8 <groupId>ch.zhaw.gpi</groupId>
9 <artifactId>publikationsfoerderung</artifactId>
10 <name>Publikationsförderung</name>
11 <version>1.0.0</version>
12
13 <!-- Konfiguration des Maven-Projekts -->
14 <properties>
15 <!-- Nicht bloss ANSI, sondern UTF-8 soll unterstützt sein -->
16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
18 <!-- Setzt die (Camunda) Spring Boot-Starter-Version -->
19 <camunda-bpm-spring-boot-starter.version>3.3.4</camunda-bpm-spring-boot-starter.version>
20 <spring.boot.version>2.1.8.RELEASE</spring.boot.version>
21 <!-- Steuert, ob die Enterprise-Version von Camunda benutzt wird ("-ee" schreiben)
22 oder die Community-Version (leer lassen). Weitere Bedingungen:
23 1. Eine Datei license.txt mit einem gültigen Key muss im Benutzerverzeichnis/.camunda sein
24 2. Es sind Credentials zum Camunda-EE-Repository erforderlich (siehe ganz unten) -->
25 <camunda.enable.ee>-ee</camunda.enable.ee>
26 <!-- True, falls keine Tests erforderlich sind (Beschleunigt/Ermöglicht Start auch bei fehlgeschlagenen Tests) -->
27 <skipTests>false</skipTests>
28 </properties>
29
30 <!-- Setzt Spring Boot als massgebend für die Verwaltung der Abhängigkeiten in Maven -->
31 <dependencyManagement>
32 <dependencies>
33 <dependency>
34 <groupId>org.springframework.boot</groupId>
35 <artifactId>spring-boot-dependencies</artifactId>
36 <version>${spring.boot.version}</version>
37 <type>pom</type>
38 <scope>import</scope>
39 </dependency>
40 </dependencies>
41 </dependencyManagement>
42
43 <!-- Legt die einzelnen Abhängigkeiten des Maven-Projekts fest -->
44 <dependencies>
45 <!-- Importiert eine für die Spring Boot-Umgebung konfigurierte Camunda-
46 Umgebung, beinhaltend: Spring-Framework, Tomcat-Server, Camunda Process
47 Engine, Camunda Webapps (Tasklist, Cockpit, Admin), Camunda Spin -->
48 <dependency>
49 <groupId>org.camunda.bpm.springboot</groupId>
50 <artifactId>camunda-bpm-spring-boot-starter-webapp${camunda.enable.ee}</artifactId>
51 <version>${camunda-bpm-spring-boot-starter.version}</version>
52 </dependency>
53 <!-- Importiert die REST API als weiterer Zugang fürr die Camunda Process Engine -->
54 <dependency>
55 <groupId>org.camunda.bpm.springboot</groupId>
56 <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
57 <version>${camunda-bpm-spring-boot-starter.version}</version>
58 </dependency>
59 <!-- Importiert die Unterstützung für JUnit-Tests allgemein und Camunda-spezifisch (BPM Assert) -->
60 <dependency>
61 <groupId>org.camunda.bpm.springboot</groupId>
62 <artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
63 <version>${camunda-bpm-spring-boot-starter.version}</version>
64 <scope>test</scope>
65 </dependency>
66 <!-- Importiert die H2-Datenbank-Abhängigkeit, damit die Camunda Process
67 Engine ihre Daten in H2 in-memory ablegen kann -->
68 <dependency>
69 <groupId>com.h2database</groupId>
70 <artifactId>h2</artifactId>
71 <scope>runtime</scope>
72 </dependency>
73 <!-- Import die JDBC-Unterstützung für Spring Boot, damit H2 auch
74 file-basiert sein kann -->
75 <dependency>
76 <groupId>org.springframework.boot</groupId>
77 <artifactId>spring-boot-starter-jdbc</artifactId>
78 </dependency>
79 <!-- Importiert die Mail-Unterstützung für Spring Boot-Projekte -->
80 <dependency>
81 <groupId>org.springframework.boot</groupId>
82 <artifactId>spring-boot-starter-mail</artifactId>
83 </dependency>
84 <!-- In OpenJDK ist die folgende für die XML-Verarbeitung erforderliche
85 Bibliothek nicht mehr standardmässig dabei -->
86 <dependency>
87 <groupId>com.sun.xml.bind</groupId>
88 <artifactId>jaxb-impl</artifactId>
89 <version>2.2.3</version>
90 </dependency>
91
92 <dependency>
93 <groupId>org.springframework.boot</groupId>
94 <artifactId>spring-boot-devtools</artifactId>
95 <optional>true</optional>
96 </dependency>
97
98 <dependency>
99 <groupId>org.springframework.boot</groupId>
100 <artifactId>spring-boot-starter-data-jpa</artifactId>
101 </dependency>
102 </dependencies>
103
104 <!-- Konfiguration des Build-Prozesses -->
105 <build>
106 <plugins>
107 <!-- The Spring Boot Maven Plugin provides Spring Boot support in Maven,
108 allowing you to package executable jar or war archives and run an application in-place -->
109 <plugin>
110 <groupId>org.springframework.boot</groupId>
111 <artifactId>spring-boot-maven-plugin</artifactId>
112 <version>${spring.boot.version}</version>
113 <configuration>
114 <layout>ZIP</layout>
115 </configuration>
116 <executions>
117 <execution>
118 <goals>
119 <goal>repackage</goal>
120 </goals>
121 </execution>
122 </executions>
123 </plugin>
124 <!-- Ohne die folgende Angaben versucht Maven mit JDK 5 zu kompilieren -->
125 <plugin>
126 <artifactId>maven-compiler-plugin</artifactId>
127 <version>3.8.1</version>
128 <configuration>
129 <source>11</source>
130 <target>11</target>
131 </configuration>
132 </plugin>
133 </plugins>
134 </build>
135
136 <!-- Damit auch die neuesten Patches der Camunda-Komponenten verfügbar sind, sollen
137 die Komponenten nicht vom allgemeinen Maven-Repository https://mvnrepository.com
138 geladen werden, sondern von den bei Camunda gehosteten Nexus-Repositories.
139 Diese gibt es einerseits für die Community Edition (camunda-bpm-nexus) und
140 für die Enterprise Edition (camunda-bpm-ee). Die Community Repository funktioniert
141 out-of-the-box, da öffentlich zugänglich.
142
143 Die Enterprise Repository benötigt hingegen Zugangsdaten, welche in einer Datei
144 settings.xml im .m2-Verzeichnis eingefügt werden.
145 -->
146 <repositories>
147 <repository>
148 <id>camunda-bpm-nexus</id>
149 <name>camunda-bpm-nexus</name>
150 <url>https://app.camunda.com/nexus/content/groups/public</url>
151 </repository>
152 <repository>
153 <id>camunda-bpm-ee</id>
154 <name>camunda-bpm-ee</name>
155 <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm-ee</url>
156 </repository>
157 </repositories>
158</project>