spring-boot-2-template

Форк
0
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"
3
	xsi: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

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.