spring-boot-2-template
/
pom.xml
234 строки · 6.8 Кб
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">4<modelVersion>4.0.0</modelVersion>5
6<groupId>by.andd3dfx</groupId>7<artifactId>spring-boot-2-template</artifactId>8<version>0.0.1-SNAPSHOT</version>9
10<name>spring-boot-2-template</name>11<description>Template project for Spring Boot 2</description>12
13<properties>14<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>15<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>16<java.version>21</java.version>17
18<spring-boot.version>2.7.18</spring-boot.version>19<mapstruct.version>1.5.5.Final</mapstruct.version>20<lombok.version>1.18.30</lombok.version>21<springdoc.version>1.7.0</springdoc.version>22<swagger.version>1.6.12</swagger.version>23<testcontainers.version>1.19.3</testcontainers.version>24</properties>25
26<!-- Use BOM (Bill of materials) for JUnit & Spring Boot -->27<dependencyManagement>28<dependencies>29<!-- Import dependency management for Tests -->30<dependency>31<groupId>org.junit</groupId>32<artifactId>junit-bom</artifactId>33<version>5.10.1</version>34<scope>import</scope>35<type>pom</type>36</dependency>37
38<dependency>39<!-- Import dependency management for Spring Boot -->40<groupId>org.springframework.boot</groupId>41<artifactId>spring-boot-dependencies</artifactId>42<version>${spring-boot.version}</version>43<type>pom</type>44<scope>import</scope>45</dependency>46</dependencies>47</dependencyManagement>48
49<dependencies>50<dependency>51<groupId>org.springframework.boot</groupId>52<artifactId>spring-boot-starter</artifactId>53</dependency>54<dependency>55<groupId>org.springframework.boot</groupId>56<artifactId>spring-boot-starter-data-jpa</artifactId>57</dependency>58<dependency>59<groupId>org.springframework.boot</groupId>60<artifactId>spring-boot-starter-web</artifactId>61</dependency>62<dependency>63<groupId>org.springframework.boot</groupId>64<artifactId>spring-boot-starter-actuator</artifactId>65</dependency>66<dependency>67<groupId>org.springframework.boot</groupId>68<artifactId>spring-boot-starter-validation</artifactId>69</dependency>70
71<dependency>72<groupId>org.mapstruct</groupId>73<artifactId>mapstruct</artifactId>74<version>${mapstruct.version}</version>75</dependency>76<dependency>77<groupId>org.projectlombok</groupId>78<artifactId>lombok</artifactId>79<version>${lombok.version}</version>80<scope>provided</scope>81</dependency>82
83<dependency>84<groupId>jakarta.validation</groupId>85<artifactId>jakarta.validation-api</artifactId>86</dependency>87
88<dependency>89<groupId>org.apache.commons</groupId>90<artifactId>commons-lang3</artifactId>91</dependency>92
93<!-- Swagger -->94<dependency>95<groupId>org.springdoc</groupId>96<artifactId>springdoc-openapi-ui</artifactId>97<version>${springdoc.version}</version>98</dependency>99<dependency>100<groupId>io.swagger</groupId>101<artifactId>swagger-annotations</artifactId>102<version>${swagger.version}</version>103</dependency>104<dependency>105<groupId>io.swagger</groupId>106<artifactId>swagger-models</artifactId>107<version>${swagger.version}</version>108</dependency>109
110<dependency>111<groupId>org.flywaydb</groupId>112<artifactId>flyway-core</artifactId>113</dependency>114<dependency>115<groupId>com.h2database</groupId>116<artifactId>h2</artifactId>117</dependency>118<dependency>119<groupId>org.postgresql</groupId>120<artifactId>postgresql</artifactId>121</dependency>122
123<dependency>124<groupId>org.springframework.boot</groupId>125<artifactId>spring-boot-starter-test</artifactId>126<scope>test</scope>127<exclusions>128<exclusion>129<groupId>org.junit.vintage</groupId>130<artifactId>junit-vintage-engine</artifactId>131</exclusion>132</exclusions>133</dependency>134<dependency>135<groupId>org.testcontainers</groupId>136<artifactId>postgresql</artifactId>137<version>${testcontainers.version}</version>138<scope>test</scope>139</dependency>140<dependency>141<groupId>org.testcontainers</groupId>142<artifactId>testcontainers</artifactId>143<version>${testcontainers.version}</version>144<scope>test</scope>145</dependency>146<dependency>147<groupId>org.testcontainers</groupId>148<artifactId>junit-jupiter</artifactId>149<version>${testcontainers.version}</version>150<scope>test</scope>151</dependency>152</dependencies>153
154<build>155<plugins>156<!-- Explicitly set maven-surefire-plugin version, according to: -->157<!-- https://stackoverflow.com/questions/54414274/override-the-version-of-maven-surefire-plugin-inherited-from-a-maven-import -->158<plugin>159<groupId>org.apache.maven.plugins</groupId>160<artifactId>maven-surefire-plugin</artifactId>161<version>3.2.5</version>162</plugin>163
164<plugin>165<groupId>org.apache.maven.plugins</groupId>166<artifactId>maven-compiler-plugin</artifactId>167<version>3.12.1</version>168<configuration>169<source>${java.version}</source>170<target>${java.version}</target>171<annotationProcessorPaths>172<path>173<groupId>org.mapstruct</groupId>174<artifactId>mapstruct-processor</artifactId>175<version>${mapstruct.version}</version>176</path>177<path>178<groupId>org.projectlombok</groupId>179<artifactId>lombok</artifactId>180<version>${lombok.version}</version>181</path>182<!-- This is needed when using Lombok 1.18.16 and above -->183<!-- According to: https://stackoverflow.com/questions/47676369/mapstruct-and-lombok-not-working-together -->184<path>185<groupId>org.projectlombok</groupId>186<artifactId>lombok-mapstruct-binding</artifactId>187<version>0.2.0</version>188</path>189</annotationProcessorPaths>190</configuration>191</plugin>192
193<!-- According to: https://www.baeldung.com/spring-boot-fix-the-no-main-manifest-attribute -->194<plugin>195<groupId>org.springframework.boot</groupId>196<artifactId>spring-boot-maven-plugin</artifactId>197<version>${spring-boot.version}</version>198<executions>199<execution>200<goals>201<goal>repackage</goal>202</goals>203</execution>204</executions>205</plugin>206
207<plugin>208<groupId>org.jacoco</groupId>209<artifactId>jacoco-maven-plugin</artifactId>210<version>0.8.11</version>211<executions>212<execution>213<goals>214<goal>prepare-agent</goal>215</goals>216</execution>217<execution>218<id>report</id>219<phase>prepare-package</phase>220<goals>221<goal>report</goal>222</goals>223</execution>224</executions>225<configuration>226<excludes>227<exclude>**/configs/**</exclude>228<exclude>**/dto/**</exclude>229</excludes>230</configuration>231</plugin>232</plugins>233</build>234</project>235