diff --git a/mapstruct-2/pom.xml b/mapstruct-2/pom.xml
index abeee5840e02..a976b2e7403c 100644
--- a/mapstruct-2/pom.xml
+++ b/mapstruct-2/pom.xml
@@ -26,18 +26,6 @@
${lombok.version}
provided
-
- org.springframework
- spring-context
- ${springframework.version}
- test
-
-
- org.springframework
- spring-test
- ${springframework.version}
- test
-
@@ -74,7 +62,6 @@
1.6.3
0.2.0
- 6.2.1
diff --git a/mapstruct-3/pom.xml b/mapstruct-3/pom.xml
new file mode 100644
index 000000000000..55997271f853
--- /dev/null
+++ b/mapstruct-3/pom.xml
@@ -0,0 +1,80 @@
+
+
+ 4.0.0
+ mapstruct-3
+ 1.0
+ jar
+ mapstruct-3
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.mapstruct
+ mapstruct
+ ${org.mapstruct.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+ org.springframework
+ spring-context
+ ${springframework.version}
+ test
+
+
+ org.springframework
+ spring-test
+ ${springframework.version}
+ test
+
+
+
+
+ mapstruct-3
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.mapstruct
+ mapstruct-processor
+ ${org.mapstruct.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+ org.projectlombok
+ lombok-mapstruct-binding
+ ${lombok.mapstruct.binding.version}
+
+
+ 17
+ 17
+
+
+
+
+
+
+ 1.6.3
+ 0.2.0
+ 6.2.1
+
+
+
diff --git a/mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java b/mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java
similarity index 100%
rename from mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java
rename to mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java
diff --git a/mapstruct-2/src/main/java/com/baeldung/entity/Media.java b/mapstruct-3/src/main/java/com/baeldung/entity/Media.java
similarity index 100%
rename from mapstruct-2/src/main/java/com/baeldung/entity/Media.java
rename to mapstruct-3/src/main/java/com/baeldung/entity/Media.java
diff --git a/mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java b/mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java
similarity index 100%
rename from mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java
rename to mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java
diff --git a/mapstruct-2/src/main/java/com/baeldung/service/MediaService.java b/mapstruct-3/src/main/java/com/baeldung/service/MediaService.java
similarity index 100%
rename from mapstruct-2/src/main/java/com/baeldung/service/MediaService.java
rename to mapstruct-3/src/main/java/com/baeldung/service/MediaService.java
diff --git a/mapstruct-3/src/main/resources/logback.xml b/mapstruct-3/src/main/resources/logback.xml
new file mode 100644
index 000000000000..7d900d8ea884
--- /dev/null
+++ b/mapstruct-3/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java
rename to mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java
diff --git a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java
rename to mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java
diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/Config.java b/mapstruct-3/src/test/java/com/baeldung/spring/Config.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/spring/Config.java
rename to mapstruct-3/src/test/java/com/baeldung/spring/Config.java
diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java
rename to mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java
diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java
rename to mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java
diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java
similarity index 100%
rename from mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java
rename to mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java
diff --git a/pom.xml b/pom.xml
index 732051f3a337..5d96a8f814ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -732,6 +732,7 @@
lwjgl
mapstruct
mapstruct-2
+ mapstruct-3
maven-modules
messaging-modules
metrics
@@ -1171,6 +1172,7 @@
lwjgl
mapstruct
mapstruct-2
+ mapstruct-3
maven-modules
messaging-modules
metrics