Merge branch 'master' into master

This commit is contained in:
Saikat Chakraborty
2024-03-02 13:52:51 +05:30
committed by GitHub
611 changed files with 32033 additions and 1868 deletions
@@ -7,4 +7,5 @@
- [Rotate Arrays in Java](https://www.baeldung.com/java-rotate-arrays)
- [Find Missing Number From a Given Array in Java](https://www.baeldung.com/java-array-find-missing-number)
- [Calculate Weighted Mean in Java](https://www.baeldung.com/java-compute-weighted-average)
- [Check if Two Strings Are Rotations of Each Other](https://www.baeldung.com/java-string-check-strings-rotations)
- More articles: [[<-- prev]](/algorithms-miscellaneous-6)
+1
View File
@@ -1,2 +1,3 @@
## Relevant Articles
- [Understanding XSLT Processing in Java](https://www.baeldung.com/java-extensible-stylesheet-language-transformations)
- [Add Camel Route at Runtime in Java](https://www.baeldung.com/java-camel-dynamic-route)
@@ -10,4 +10,6 @@
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
<logger name="org.apache.camel.impl.engine" level="WARN"/>
</configuration>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
<logger name="ch.qos.logback.classic.joran.action" level="WARN"/>
</configuration>
+1 -1
View File
@@ -14,4 +14,4 @@ This module contains articles about Apache POI.
- [Set the Date Format Using Apache POI](https://www.baeldung.com/java-apache-poi-date-format)
- [Replacing Variables in a Document Template with Java](https://www.baeldung.com/java-replace-pattern-word-document-doc-docx)
- [Lock Header Rows With Apache POI](https://www.baeldung.com/java-apache-poi-lock-header-rows)
- More articles: [[<-- prev]](../apache-poi)
- More articles: [[<-- prev]](../apache-poi)[[next -->]](../apache-poi-3)
+1 -1
View File
@@ -27,7 +27,7 @@
</dependencies>
<properties>
<poi.version>5.2.3</poi.version>
<poi.version>5.2.5</poi.version>
</properties>
</project>
+7 -1
View File
@@ -1,4 +1,10 @@
## Relevant Articles
## Apache POI
This module contains articles about Apache POI.
### Relevant Articles:
- [How To Convert Excel Data Into List Of Java Objects](https://www.baeldung.com/java-convert-excel-data-into-list)
- [Expand Columns with Apache POI](https://www.baeldung.com/java-apache-poi-expand-columns)
- [Apply Bold Text Style for an Entire Row Using Apache POI](https://www.baeldung.com/appache-poi-apply-bold-text-style-entire-row)
- More articles: [[<-- prev]](../apache-poi-2)
+8 -14
View File
@@ -24,50 +24,41 @@
<artifactId>poi-scratchpad</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.ozlerhakan/poiji -->
<dependency>
<groupId>com.github.ozlerhakan</groupId>
<artifactId>poiji</artifactId>
<version>${poiji.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi/5.2.3 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas/4.1.2 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
<version>${poi-ooxml-schemas.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans/5.1.1 -->
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>5.1.1</version>
<version>${xmlbeans.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
<version>${commons-collections4.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.dhatim/fastexcel/0.15.7 -->
<dependency>
<groupId>org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>${fastexcel.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.dhatim/fastexcel-reader/0.15.7 -->
<dependency>
<groupId>org.dhatim</groupId>
<artifactId>fastexcel-reader</artifactId>
<version>${fastexcel.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl/2.6.12 -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
@@ -77,8 +68,11 @@
<properties>
<poi.version>5.2.5</poi.version>
<poiji.version>4.1.1</poiji.version>
<fastexcel.version>0.15.7</fastexcel.version>
<poi-ooxml-schemas.version>4.1.2</poi-ooxml-schemas.version>
<poiji.version>4.2.0</poiji.version>
<xmlbeans.version>5.2.0</xmlbeans.version>
<commons-collections4.version>4.4</commons-collections4.version>
<fastexcel.version>0.17.0</fastexcel.version>
<jxl.version>2.6.12</jxl.version>
</properties>
+4 -4
View File
@@ -60,10 +60,10 @@
</build>
<properties>
<poi.version>5.2.0</poi.version>
<jexcel.version>1.0.6</jexcel.version>
<fastexcel.version>0.15.3</fastexcel.version>
<maven.resources.plugin.version>3.2.0</maven.resources.plugin.version>
<poi.version>5.2.5</poi.version>
<jexcel.version>1.0.9</jexcel.version>
<fastexcel.version>0.17.0</fastexcel.version>
<maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
</properties>
</project>
+2 -5
View File
@@ -37,7 +37,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-plugins-version}</version>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>copy</id>
@@ -58,10 +58,7 @@
<properties>
<gson.version>2.10.1</gson.version>
<dynamodblocal.version>1.21.1</dynamodblocal.version>
<commons-codec-version>1.16.0</commons-codec-version>
<jets3t-version>0.9.4.0006L</jets3t-version>
<maven-plugins-version>3.1.1</maven-plugins-version>
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
</properties>
</project>
+1 -2
View File
@@ -27,7 +27,7 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>${awssdk.version}</version>
<version>${aws-java-sdk-v2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -93,7 +93,6 @@
<properties>
<spring.version>2.2.1.RELEASE</spring.version>
<awssdk.version>2.17.283</awssdk.version>
<reactor.version>3.6.0</reactor.version>
</properties>
+5 -6
View File
@@ -18,7 +18,7 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>${aws.java.sdk.version}</version>
<version>${aws-java-sdk-v2.version}</version>
</dependency>
<dependency>
@@ -30,19 +30,18 @@
<dependency>
<groupId>org.lucee</groupId>
<artifactId>jets3t</artifactId>
<version>${jets3t-version}</version>
<version>${jets3t.version}</version>
</dependency>
<dependency>
<groupId>org.lucee</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec-version}</version>
<version>${commons-codec.version}</version>
</dependency>
</dependencies>
<properties>
<aws.java.sdk.version>2.20.52</aws.java.sdk.version>
<commons-codec-version>1.10.L001</commons-codec-version>
<jets3t-version>0.9.4.0006L</jets3t-version>
<commons-codec.version>1.10.L001</commons-codec.version>
<jets3t.version>0.9.4.0014L</jets3t.version>
</properties>
</project>
+1 -1
View File
@@ -33,7 +33,7 @@
<properties>
<aws-java-sdk.version>1.12.331</aws-java-sdk.version>
<aws-java-sdk-v2.version>2.20.147</aws-java-sdk-v2.version>
<aws-java-sdk-v2.version>2.24.9</aws-java-sdk-v2.version>
<maven-shade-plugin.version>3.0.0</maven-shade-plugin.version>
</properties>
+1 -1
View File
@@ -157,7 +157,7 @@
<properties>
<groovy-wslite.version>1.1.3</groovy-wslite.version>
<assembly.plugin.version>3.4.2</assembly.plugin.version>
<compiler.plugin.version>3.8.1</compiler.plugin.version>
<compiler.plugin.version>3.12.1</compiler.plugin.version>
<groovy.compiler.version>3.9.0</groovy.compiler.version>
<groovy-eclipse-batch.version>3.0.9-03</groovy-eclipse-batch.version>
</properties>
@@ -1,61 +1,71 @@
package com.baeldung.io
import org.junit.Test
import groovy.io.FileType
import groovy.io.FileVisitResult
import org.junit.Test
import static org.junit.Assert.assertTrue
class TraverseFileTreeUnitTest {
@Test
void whenUsingEachFile_filesAreListed() {
var files = []
new File('src/main/resources').eachFile { file ->
println file.name
files.add(file.name)
}
assertTrue(files.size() > 1)
}
@Test(expected = IllegalArgumentException)
void whenUsingEachFileOnAFile_anErrorOccurs() {
var files = []
new File('src/main/resources/ioInput.txt').eachFile { file ->
println file.name
files.add(file.name)
}
}
@Test
void whenUsingEachFileMatch_filesAreListed() {
var files = []
new File('src/main/resources').eachFileMatch(~/io.*\.txt/) { file ->
println file.name
files.add(file.name)
}
}
@Test
void whenUsingEachFileRecurse_thenFilesInSubfoldersAreListed() {
var files = []
new File('src/main').eachFileRecurse(FileType.FILES) { file ->
println "$file.parent $file.name"
files.add("$file.parent $file.name")
}
}
@Test
void whenUsingEachFileRecurse_thenDirsInSubfoldersAreListed() {
var files = []
new File('src/main').eachFileRecurse(FileType.DIRECTORIES) { file ->
println "$file.parent $file.name"
files.add("$file.parent $file.name")
}
}
@Test
void whenUsingEachDirRecurse_thenDirsAndSubDirsAreListed() {
var files = []
new File('src/main').eachDirRecurse { dir ->
println "$dir.parent $dir.name"
files.add("$dir.parent $dir.name")
}
}
@Test
void whenUsingTraverse_thenDirectoryIsTraversed() {
var files = []
new File('src/main').traverse { file ->
if (file.directory && file.name == 'groovy') {
FileVisitResult.SKIP_SUBTREE
} else {
println "$file.parent - $file.name"
files.add("$file.parent - $file.name")
}
}
assertTrue(files.size() > 1)
}
}
@@ -2,6 +2,8 @@ package groovy.com.baeldung.stringtypes
import org.junit.Test
import static org.junit.Assert.assertFalse
class DollarSlashyString {
@Test
@@ -19,6 +21,7 @@ class DollarSlashyString {
- $/$$
/$
print(dollarSlashy)
//print(dollarSlashy)
assertFalse(dollarSlashy.isEmpty())
}
}
-1
View File
@@ -45,7 +45,6 @@
<properties>
<maven.compiler.source.version>11</maven.compiler.source.version>
<maven.compiler.target.version>11</maven.compiler.target.version>
<jackson.version>2.16.0</jackson.version>
<gson.version>2.10.1</gson.version>
</properties>
+1
View File
@@ -1,2 +1,3 @@
## Relevant Articles
- [Deprecate Finalization in Java 18](https://www.baeldung.com/java-18-deprecate-finalization)
- [Simple Web Server in Java 18](https://www.baeldung.com/simple-web-server-java-18)
@@ -22,7 +22,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
<version>${guava.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -60,7 +60,6 @@
<properties>
<jmh.version>1.21</jmh.version>
<gson.version>2.10.1</gson.version>
<jackson.version>2.16.0</jackson.version>
<org.json.version>20230618</org.json.version>
</properties>
</project>
@@ -8,4 +8,5 @@
- [How to Sort LinkedHashMap by Values in Java](https://www.baeldung.com/java-sort-linkedhashmap-using-values)
- [How to Increment a Map Value in Java](https://www.baeldung.com/java-increment-map-value)
- [Collect Stream of entrySet() to a LinkedHashMap](https://www.baeldung.com/java-linkedhashmap-entryset-stream)
- [How to Pretty-Print a Map in Java](https://www.baeldung.com/java-map-pretty-print)
- More articles: [[<-- prev]](/core-java-modules/core-java-collections-maps-6)
@@ -32,17 +32,22 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.1.2-jre</version>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.37</version>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.37</version>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commons-collections.version}</version>
</dependency>
</dependencies>
@@ -63,6 +68,9 @@
<properties>
<gson.version>2.10.1</gson.version>
<csv.version>1.5</csv.version>
<guava.version>32.1.2-jre</guava.version>
<jmh.version>1.37</jmh.version>
<commons-collections.version>4.4</commons-collections.version>
</properties>
</project>
@@ -0,0 +1,202 @@
package com.baeldung.map.prettyprintmap;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import com.google.gson.GsonBuilder;
import org.apache.commons.collections4.MapUtils;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.stream.Collectors;
class PrettyPrintMapUnitTest {
private static final Map<String, Object> MAP;
static {
// using LinkedHashMap to keep insertion order, helpful in assertions
MAP = new LinkedHashMap<>();
MAP.put("one", 1);
MAP.put("two", 2);
Map<String, Integer> innerMap = new LinkedHashMap<>();
innerMap.put("ten", 10);
innerMap.put("eleven", 11);
MAP.put("inner", innerMap);
}
@Test
void givenMap_whenToString_thenOneLine() {
String result = MAP.toString();
String expected = "{one=1, two=2, inner={ten=10, eleven=11}}";
Assertions.assertThat(result).isEqualTo(expected);
}
@Test
void givenMap_whenSimpleForEachLoop_thenPrettyPrintWithoutNested() {
StringBuilder result = new StringBuilder();
for (Map.Entry<?, ?> entry : MAP.entrySet()) {
result.append(String.format("%-15s : %s%n", entry.getKey(), entry.getValue()));
}
String expected =
"one : 1\n" +
"two : 2\n" +
"inner : {ten=10, eleven=11}\n";
Assertions.assertThat(result.toString()).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenRecursionForEachLoop_thenPrettyPrint() {
String result = printMap(0, MAP);
String expected =
"one : 1\n" +
"two : 2\n" +
"inner :\n" +
" ten : 10\n" +
" eleven : 11\n";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenStream_thenPrettyPrintWithoutNested() {
StringBuilder result = new StringBuilder();
MAP.forEach((k, v) -> result.append(String.format("%-15s : %s%n", k, v)));
String expected =
"one : 1\n" +
"two : 2\n" +
"inner : {ten=10, eleven=11}\n";
Assertions.assertThat(result.toString()).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenExtendedStream_thenPrettyPrintWithoutNested() {
String result = MAP.entrySet().stream()
.map(entry -> String.format("%-15s : %s", entry.getKey(), entry.getValue()))
.collect(Collectors.joining("\n"));
String expected =
"one : 1\n" +
"two : 2\n" +
"inner : {ten=10, eleven=11}\n";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenJackson_thenPrettyPrint() throws JsonProcessingException {
String result = new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(MAP);
String expected =
"{\n" +
" \"one\" : 1,\n" +
" \"two\" : 2,\n" +
" \"inner\" : {\n" +
" \"ten\" : 10,\n" +
" \"eleven\" : 11\n" +
" }\n" +
"}";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenGson_thenPrettyPrint() {
String result = new GsonBuilder().setPrettyPrinting().create().toJson(MAP);
String expected =
"{\n" +
" \"one\": 1,\n" +
" \"two\": 2,\n" +
" \"inner\": {\n" +
" \"ten\": 10,\n" +
" \"eleven\": 11\n" +
" }\n" +
"}";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
@Test
void givenMap_whenApacheCommonsCollectionsDebugPrint_thenPrettyPrintWithClassNames() throws IOException {
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos)) {
MapUtils.debugPrint(ps, "map", MAP);
String result = baos.toString();
String expected =
"map = \n" +
"{\n" +
" one = 1 java.lang.Integer\n" +
" two = 2 java.lang.Integer\n" +
" inner = \n" +
" {\n" +
" ten = 10 java.lang.Integer\n" +
" eleven = 11 java.lang.Integer\n" +
" } java.util.LinkedHashMap\n" +
"} java.util.LinkedHashMap\n";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
}
@Test
void givenMap_whenApacheCommonsCollectionsVerbosePrint_thenPrettyPrint() throws IOException {
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos)) {
MapUtils.verbosePrint(ps, "map", MAP);
String result = baos.toString();
String expected =
"map = \n" +
"{\n" +
" one = 1\n" +
" two = 2\n" +
" inner = \n" +
" {\n" +
" ten = 10\n" +
" eleven = 11\n" +
" }\n" +
"}\n";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
}
@Test
void givenMap_whenGuavaJoiner_thenPrettyPrintWithoutNested() {
String result = Joiner.on(",\n").withKeyValueSeparator("=").join(MAP);
String expected =
"one=1,\n" +
"two=2,\n" +
"inner={ten=10, eleven=11}";
Assertions.assertThat(result).isEqualToIgnoringNewLines(expected);
}
private static String printMap(int leftPadding, Map<?, ?> map) {
StringBuilder ret = new StringBuilder();
for (Map.Entry<?, ?> entry : map.entrySet()) {
if (entry.getValue() instanceof Map) {
ret.append(String.format("%-15s :%n", entry.getKey()));
ret.append(printMap(leftPadding + 4, (Map<?, ?>) entry.getValue()));
}
else {
ret.append(String.format("%" + (leftPadding > 0 ? leftPadding : "") + "s" // adding padding
+ "%-15s : %s%n",
"", entry.getKey(), entry.getValue()));
}
}
return ret.toString();
}
}
@@ -35,7 +35,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.1.1-jre</version>
<version>${guava.version}</version>
</dependency>
</dependencies>
@@ -60,14 +60,15 @@ public class HashtableUnitTest {
table.put(new Word("dog"), "another animal");
Iterator<Word> it = table.keySet().iterator();
System.out.println("iterator created");
// System.out.println("iterator created");
table.remove(new Word("dog"));
System.out.println("element removed");
// System.out.println("element removed");
while (it.hasNext()) {
Word key = it.next();
System.out.println(table.get(key));
// System.out.println(table.get(key));
assertNotNull(table.get(key));
}
}
@@ -85,12 +86,13 @@ public class HashtableUnitTest {
table.put(new Word("8"), "eight");
Enumeration<Word> enumKey = table.keys();
System.out.println("Enumeration created");
// System.out.println("Enumeration created");
table.remove(new Word("1"));
System.out.println("element removed");
// System.out.println("element removed");
while (enumKey.hasMoreElements()) {
Word key = enumKey.nextElement();
System.out.println(table.get(key));
// System.out.println(table.get(key));
assertNotNull(table.get(key));
}
}
@@ -110,7 +112,8 @@ public class HashtableUnitTest {
Iterator<Map.Entry<Word, String>> it = table.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Word, String> entry = it.next();
System.out.println(entry.getValue());
// System.out.println(entry.getValue());
assertNotNull(entry.getValue());
}
}
@@ -9,3 +9,5 @@
- [Parallelize for Loop in Java](https://www.baeldung.com/java-for-loop-parallel)
- [How to Effectively Unit Test CompletableFuture](https://www.baeldung.com/java-completablefuture-unit-test)
- [How to Collect All Results and Handle Exceptions With CompletableFuture in a Loop](https://www.baeldung.com/java-completablefuture-collect-results-handle-exceptions)
- [CompletableFuture runAsync() vs. supplyAsync() in Java](https://www.baeldung.com/java-completablefuture-runasync-supplyasync)
- [Difference Between thenApply() and thenApplyAsync() in CompletableFuture](https://www.baeldung.com/java-completablefuture-thenapply-thenapplyasync)
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
@@ -4,7 +4,7 @@ import java.util.function.Function;
public class Currying {
private static Function<Double, Function<Double, Double>> weight = mass -> gravity -> mass * gravity;
private static Function<Double, Function<Double, Double>> weight = gravity -> mass -> mass * gravity;
private static Function<Double, Double> weightOnEarth = weight.apply(9.81);
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
<logger name="org.eclipse.jetty.server.handler" level="WARN"/>
<logger name="org.mockserver.log" level="WARN"/>
</configuration>
@@ -37,7 +37,7 @@
</build>
<properties>
<compiler.plugin.version>3.8.0</compiler.plugin.version>
<compiler.plugin.version>3.12.1</compiler.plugin.version>
<source.version>11</source.version>
<target.version>11</target.version>
</properties>

Some files were not shown because too many files have changed in this diff Show More