JAVA-1470 Move 10 articles to libraries-4 module
This commit is contained in:
parent
6c0a91ef6e
commit
da174392ed
|
@ -0,0 +1,43 @@
|
||||||
|
## Libraries
|
||||||
|
|
||||||
|
This module contains articles about various Java libraries.
|
||||||
|
These are small libraries that are relatively easy to use and do not require any separate module of their own.
|
||||||
|
|
||||||
|
The code examples related to different libraries are each in their own module.
|
||||||
|
|
||||||
|
Remember, for advanced libraries like [Jackson](/jackson) and [JUnit](/testing-modules) we already have separate modules. Please make sure to have a look at the existing modules in such cases.
|
||||||
|
|
||||||
|
### Relevant articles
|
||||||
|
|
||||||
|
- [Introduction to Javatuples](https://www.baeldung.com/java-tuples)
|
||||||
|
- [Introduction to Javassist](https://www.baeldung.com/javassist)
|
||||||
|
- [Introduction to Apache Flink with Java](https://www.baeldung.com/apache-flink)
|
||||||
|
- [Intro to JaVers](https://www.baeldung.com/javers)
|
||||||
|
- [Merging Streams in Java](https://www.baeldung.com/java-merge-streams)
|
||||||
|
- [Introduction to Quartz](https://www.baeldung.com/quartz)
|
||||||
|
- [How to Warm Up the JVM](https://www.baeldung.com/java-jvm-warmup)
|
||||||
|
- [Software Transactional Memory in Java Using Multiverse](https://www.baeldung.com/java-multiverse-stm)
|
||||||
|
- [Locality-Sensitive Hashing in Java Using Java-LSH](https://www.baeldung.com/locality-sensitive-hashing)
|
||||||
|
- [Introduction to Neuroph](https://www.baeldung.com/neuroph)
|
||||||
|
|
||||||
|
#5
|
||||||
|
- [Introduction to Caffeine](https://www.baeldung.com/java-caching-caffeine)
|
||||||
|
- [Introduction to StreamEx](https://www.baeldung.com/streamex)
|
||||||
|
- [A Docker Guide for Java](https://www.baeldung.com/docker-java-api)
|
||||||
|
- [Introduction to Akka Actors in Java](https://www.baeldung.com/akka-actors-java)
|
||||||
|
- [A Guide to Byte Buddy](https://www.baeldung.com/byte-buddy)
|
||||||
|
- [Introduction to jOOL](https://www.baeldung.com/jool)
|
||||||
|
- [Consumer Driven Contracts with Pact](https://www.baeldung.com/pact-junit-consumer-driven-contracts)
|
||||||
|
- [Introduction to Atlassian Fugue](https://www.baeldung.com/java-fugue)
|
||||||
|
- [Publish and Receive Messages with Nats Java Client](https://www.baeldung.com/nats-java-client)
|
||||||
|
- [Java Concurrency Utility with JCTools](https://www.baeldung.com/java-concurrency-jc-tools)
|
||||||
|
|
||||||
|
#6
|
||||||
|
- [Introduction to JavaPoet](https://www.baeldung.com/java-poet)
|
||||||
|
- [Guide to Resilience4j](https://www.baeldung.com/resilience4j)
|
||||||
|
- [Implementing a FTP-Client in Java](https://www.baeldung.com/java-ftp-client)
|
||||||
|
- [Introduction to Functional Java](https://www.baeldung.com/java-functional-library)
|
||||||
|
- [A Guide to the Reflections Library](https://www.baeldung.com/reflections-library)
|
||||||
|
|
||||||
|
- [Exactly Once Processing in Kafka](https://www.baeldung.com/kafka-exactly-once)
|
||||||
|
- More articles [[next -->]](/libraries-2)
|
|
@ -0,0 +1,111 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<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">
|
||||||
|
<parent>
|
||||||
|
<artifactId>parent-modules</artifactId>
|
||||||
|
<groupId>com.baeldung</groupId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>libraries-4</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jdeferred</groupId>
|
||||||
|
<artifactId>jdeferred-core</artifactId>
|
||||||
|
<version>${jdeferred.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.collections</groupId>
|
||||||
|
<artifactId>eclipse-collections</artifactId>
|
||||||
|
<version>${eclipse-collections.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.haulmont.yarg</groupId>
|
||||||
|
<artifactId>yarg</artifactId>
|
||||||
|
<version>${yarg.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.engio</groupId>
|
||||||
|
<artifactId>mbassador</artifactId>
|
||||||
|
<version>${mbassador.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.machinezoo.noexception</groupId>
|
||||||
|
<artifactId>noexception</artifactId>
|
||||||
|
<version>${noexception.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>rome</groupId>
|
||||||
|
<artifactId>rome</artifactId>
|
||||||
|
<version>${rome.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-web</artifactId>
|
||||||
|
<version>${spring.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.datanucleus</groupId>
|
||||||
|
<artifactId>javax.jdo</artifactId>
|
||||||
|
<version>${javax.jdo.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.servlet</groupId>
|
||||||
|
<artifactId>servlet-api</artifactId>
|
||||||
|
<version>${javax.servlet.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.vavr</groupId>
|
||||||
|
<artifactId>vavr</artifactId>
|
||||||
|
<version>${vavr.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.assertj</groupId>
|
||||||
|
<artifactId>assertj-core</artifactId>
|
||||||
|
<version>${assertj.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.pcollections</groupId>
|
||||||
|
<artifactId>pcollections</artifactId>
|
||||||
|
<version>${pcollections.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.awaitility</groupId>
|
||||||
|
<artifactId>awaitility</artifactId>
|
||||||
|
<version>${awaitility.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>one.util</groupId>
|
||||||
|
<artifactId>streamex</artifactId>
|
||||||
|
<version>${streamex.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.el</groupId>
|
||||||
|
<artifactId>javax.el-api</artifactId>
|
||||||
|
<version>${javax.el.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<jdeferred.version>1.2.6</jdeferred.version>
|
||||||
|
<eclipse-collections.version>8.2.0</eclipse-collections.version>
|
||||||
|
<noexception.version>1.1.0</noexception.version>
|
||||||
|
<yarg.version>2.0.12</yarg.version>
|
||||||
|
<mbassador.version>1.3.1</mbassador.version>
|
||||||
|
<rome.version>1.0</rome.version>
|
||||||
|
<spring.version>4.3.8.RELEASE</spring.version>
|
||||||
|
<javax.servlet.version>2.5</javax.servlet.version>
|
||||||
|
<javax.jdo.version>3.2.0-m7</javax.jdo.version>
|
||||||
|
<vavr.version>0.9.0</vavr.version>
|
||||||
|
<assertj.version>3.6.2</assertj.version>
|
||||||
|
<pcollections.version>2.1.2</pcollections.version>
|
||||||
|
<awaitility.version>3.0.0</awaitility.version>
|
||||||
|
<streamex.version>0.6.5</streamex.version>
|
||||||
|
<javax.el.version>3.0.0</javax.el.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -5,6 +5,7 @@ import static org.junit.Assert.assertEquals;
|
||||||
import org.eclipse.collections.api.tuple.Pair;
|
import org.eclipse.collections.api.tuple.Pair;
|
||||||
import org.eclipse.collections.impl.map.mutable.UnifiedMap;
|
import org.eclipse.collections.impl.map.mutable.UnifiedMap;
|
||||||
import org.eclipse.collections.impl.tuple.Tuples;
|
import org.eclipse.collections.impl.tuple.Tuples;
|
||||||
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class ForEachPatternUnitTest {
|
public class ForEachPatternUnitTest {
|
||||||
|
@ -23,7 +24,7 @@ public class ForEachPatternUnitTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < map.size(); i++) {
|
for (int i = 0; i < map.size(); i++) {
|
||||||
assertEquals("New Value", map.get(i + 1));
|
Assert.assertEquals("New Value", map.get(i + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,138 +1,138 @@
|
||||||
package com.baeldung.java.io;
|
package com.baeldung.io;
|
||||||
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.FileVisitResult;
|
import java.nio.file.FileVisitResult;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.SimpleFileVisitor;
|
import java.nio.file.SimpleFileVisitor;
|
||||||
import java.nio.file.attribute.BasicFileAttributes;
|
import java.nio.file.attribute.BasicFileAttributes;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.util.FileSystemUtils;
|
import org.springframework.util.FileSystemUtils;
|
||||||
|
|
||||||
public class JavaDirectoryDeleteUnitTest {
|
public class JavaDirectoryDeleteUnitTest {
|
||||||
private static Path TEMP_DIRECTORY;
|
private static Path TEMP_DIRECTORY;
|
||||||
private static final String DIRECTORY_NAME = "toBeDeleted";
|
private static final String DIRECTORY_NAME = "toBeDeleted";
|
||||||
|
|
||||||
private static final List<String> ALL_LINES = Arrays.asList("This is line 1", "This is line 2", "This is line 3", "This is line 4", "This is line 5", "This is line 6");
|
private static final List<String> ALL_LINES = Arrays.asList("This is line 1", "This is line 2", "This is line 3", "This is line 4", "This is line 5", "This is line 6");
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void initializeTempDirectory() throws IOException {
|
public static void initializeTempDirectory() throws IOException {
|
||||||
TEMP_DIRECTORY = Files.createTempDirectory("tmpForJUnit");
|
TEMP_DIRECTORY = Files.createTempDirectory("tmpForJUnit");
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterClass
|
@AfterClass
|
||||||
public static void cleanTempDirectory() throws IOException {
|
public static void cleanTempDirectory() throws IOException {
|
||||||
FileUtils.deleteDirectory(TEMP_DIRECTORY.toFile());
|
FileUtils.deleteDirectory(TEMP_DIRECTORY.toFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setupDirectory() throws IOException {
|
public void setupDirectory() throws IOException {
|
||||||
Path tempPathForEachTest = Files.createDirectory(TEMP_DIRECTORY.resolve(DIRECTORY_NAME));
|
Path tempPathForEachTest = Files.createDirectory(TEMP_DIRECTORY.resolve(DIRECTORY_NAME));
|
||||||
|
|
||||||
// Create a directory structure
|
// Create a directory structure
|
||||||
Files.write(tempPathForEachTest.resolve("file1.txt"), ALL_LINES.subList(0, 2));
|
Files.write(tempPathForEachTest.resolve("file1.txt"), ALL_LINES.subList(0, 2));
|
||||||
Files.write(tempPathForEachTest.resolve("file2.txt"), ALL_LINES.subList(2, 4));
|
Files.write(tempPathForEachTest.resolve("file2.txt"), ALL_LINES.subList(2, 4));
|
||||||
|
|
||||||
Files.createDirectories(tempPathForEachTest.resolve("Empty"));
|
Files.createDirectories(tempPathForEachTest.resolve("Empty"));
|
||||||
|
|
||||||
Path aSubDir = Files.createDirectories(tempPathForEachTest.resolve("notEmpty"));
|
Path aSubDir = Files.createDirectories(tempPathForEachTest.resolve("notEmpty"));
|
||||||
Files.write(aSubDir.resolve("file3.txt"), ALL_LINES.subList(3, 5));
|
Files.write(aSubDir.resolve("file3.txt"), ALL_LINES.subList(3, 5));
|
||||||
Files.write(aSubDir.resolve("file4.txt"), ALL_LINES.subList(0, 3));
|
Files.write(aSubDir.resolve("file4.txt"), ALL_LINES.subList(0, 3));
|
||||||
|
|
||||||
aSubDir = Files.createDirectories(aSubDir.resolve("anotherSubDirectory"));
|
aSubDir = Files.createDirectories(aSubDir.resolve("anotherSubDirectory"));
|
||||||
Files.write(aSubDir.resolve("file5.txt"), ALL_LINES.subList(4, 5));
|
Files.write(aSubDir.resolve("file5.txt"), ALL_LINES.subList(4, 5));
|
||||||
Files.write(aSubDir.resolve("file6.txt"), ALL_LINES.subList(0, 2));
|
Files.write(aSubDir.resolve("file6.txt"), ALL_LINES.subList(0, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void checkAndCleanupIfRequired() throws IOException {
|
public void checkAndCleanupIfRequired() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
if (Files.exists(pathToBeDeleted)) {
|
if (Files.exists(pathToBeDeleted)) {
|
||||||
FileUtils.deleteDirectory(pathToBeDeleted.toFile());
|
FileUtils.deleteDirectory(pathToBeDeleted.toFile());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean deleteDirectory(File directoryToBeDeleted) {
|
private boolean deleteDirectory(File directoryToBeDeleted) {
|
||||||
File[] allContents = directoryToBeDeleted.listFiles();
|
File[] allContents = directoryToBeDeleted.listFiles();
|
||||||
|
|
||||||
if (allContents != null) {
|
if (allContents != null) {
|
||||||
for (File file : allContents) {
|
for (File file : allContents) {
|
||||||
deleteDirectory(file);
|
deleteDirectory(file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return directoryToBeDeleted.delete();
|
return directoryToBeDeleted.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenDirectory_whenDeletedWithRecursion_thenIsGone() throws IOException {
|
public void givenDirectory_whenDeletedWithRecursion_thenIsGone() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
|
|
||||||
boolean result = deleteDirectory(pathToBeDeleted.toFile());
|
boolean result = deleteDirectory(pathToBeDeleted.toFile());
|
||||||
|
|
||||||
assertTrue("Could not delete directory", result);
|
assertTrue("Could not delete directory", result);
|
||||||
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenDirectory_whenDeletedWithCommonsIOFileUtils_thenIsGone() throws IOException {
|
public void givenDirectory_whenDeletedWithCommonsIOFileUtils_thenIsGone() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
|
|
||||||
FileUtils.deleteDirectory(pathToBeDeleted.toFile());
|
FileUtils.deleteDirectory(pathToBeDeleted.toFile());
|
||||||
|
|
||||||
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenDirectory_whenDeletedWithSpringFileSystemUtils_thenIsGone() throws IOException {
|
public void givenDirectory_whenDeletedWithSpringFileSystemUtils_thenIsGone() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
|
|
||||||
boolean result = FileSystemUtils.deleteRecursively(pathToBeDeleted.toFile());
|
boolean result = FileSystemUtils.deleteRecursively(pathToBeDeleted.toFile());
|
||||||
|
|
||||||
assertTrue("Could not delete directory", result);
|
assertTrue("Could not delete directory", result);
|
||||||
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenDirectory_whenDeletedWithFilesWalk_thenIsGone() throws IOException {
|
public void givenDirectory_whenDeletedWithFilesWalk_thenIsGone() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
|
|
||||||
Files.walk(pathToBeDeleted).sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete);
|
Files.walk(pathToBeDeleted).sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete);
|
||||||
|
|
||||||
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenDirectory_whenDeletedWithNIO2WalkFileTree_thenIsGone() throws IOException {
|
public void givenDirectory_whenDeletedWithNIO2WalkFileTree_thenIsGone() throws IOException {
|
||||||
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
Path pathToBeDeleted = TEMP_DIRECTORY.resolve(DIRECTORY_NAME);
|
||||||
|
|
||||||
Files.walkFileTree(pathToBeDeleted, new SimpleFileVisitor<Path>() {
|
Files.walkFileTree(pathToBeDeleted, new SimpleFileVisitor<Path>() {
|
||||||
@Override
|
@Override
|
||||||
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
|
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
|
||||||
Files.delete(dir);
|
Files.delete(dir);
|
||||||
return FileVisitResult.CONTINUE;
|
return FileVisitResult.CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
|
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
|
||||||
Files.delete(file);
|
Files.delete(file);
|
||||||
return FileVisitResult.CONTINUE;
|
return FileVisitResult.CONTINUE;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
assertFalse("Directory still exists", Files.exists(pathToBeDeleted));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<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">
|
||||||
|
<parent>
|
||||||
|
<artifactId>parent-modules</artifactId>
|
||||||
|
<groupId>com.baeldung</groupId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>libraries-5</artifactId>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<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">
|
||||||
|
<parent>
|
||||||
|
<artifactId>parent-modules</artifactId>
|
||||||
|
<groupId>com.baeldung</groupId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>libraries-6</artifactId>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -19,6 +19,8 @@ Remember, for advanced libraries like [Jackson](/jackson) and [JUnit](/testing-m
|
||||||
- [Software Transactional Memory in Java Using Multiverse](https://www.baeldung.com/java-multiverse-stm)
|
- [Software Transactional Memory in Java Using Multiverse](https://www.baeldung.com/java-multiverse-stm)
|
||||||
- [Locality-Sensitive Hashing in Java Using Java-LSH](https://www.baeldung.com/locality-sensitive-hashing)
|
- [Locality-Sensitive Hashing in Java Using Java-LSH](https://www.baeldung.com/locality-sensitive-hashing)
|
||||||
- [Introduction to Neuroph](https://www.baeldung.com/neuroph)
|
- [Introduction to Neuroph](https://www.baeldung.com/neuroph)
|
||||||
|
|
||||||
|
#4
|
||||||
- [Quick Guide to RSS with Rome](https://www.baeldung.com/rome-rss)
|
- [Quick Guide to RSS with Rome](https://www.baeldung.com/rome-rss)
|
||||||
- [Introduction to PCollections](https://www.baeldung.com/java-pcollections)
|
- [Introduction to PCollections](https://www.baeldung.com/java-pcollections)
|
||||||
- [Introduction to Eclipse Collections](https://www.baeldung.com/eclipse-collections)
|
- [Introduction to Eclipse Collections](https://www.baeldung.com/eclipse-collections)
|
||||||
|
@ -29,6 +31,8 @@ Remember, for advanced libraries like [Jackson](/jackson) and [JUnit](/testing-m
|
||||||
- [Guide to JDeferred](https://www.baeldung.com/jdeferred)
|
- [Guide to JDeferred](https://www.baeldung.com/jdeferred)
|
||||||
- [Introduction to MBassador](https://www.baeldung.com/mbassador)
|
- [Introduction to MBassador](https://www.baeldung.com/mbassador)
|
||||||
- [Using Pairs in Java](https://www.baeldung.com/java-pairs)
|
- [Using Pairs in Java](https://www.baeldung.com/java-pairs)
|
||||||
|
|
||||||
|
#5
|
||||||
- [Introduction to Caffeine](https://www.baeldung.com/java-caching-caffeine)
|
- [Introduction to Caffeine](https://www.baeldung.com/java-caching-caffeine)
|
||||||
- [Introduction to StreamEx](https://www.baeldung.com/streamex)
|
- [Introduction to StreamEx](https://www.baeldung.com/streamex)
|
||||||
- [A Docker Guide for Java](https://www.baeldung.com/docker-java-api)
|
- [A Docker Guide for Java](https://www.baeldung.com/docker-java-api)
|
||||||
|
@ -39,10 +43,13 @@ Remember, for advanced libraries like [Jackson](/jackson) and [JUnit](/testing-m
|
||||||
- [Introduction to Atlassian Fugue](https://www.baeldung.com/java-fugue)
|
- [Introduction to Atlassian Fugue](https://www.baeldung.com/java-fugue)
|
||||||
- [Publish and Receive Messages with Nats Java Client](https://www.baeldung.com/nats-java-client)
|
- [Publish and Receive Messages with Nats Java Client](https://www.baeldung.com/nats-java-client)
|
||||||
- [Java Concurrency Utility with JCTools](https://www.baeldung.com/java-concurrency-jc-tools)
|
- [Java Concurrency Utility with JCTools](https://www.baeldung.com/java-concurrency-jc-tools)
|
||||||
|
|
||||||
|
#6
|
||||||
- [Introduction to JavaPoet](https://www.baeldung.com/java-poet)
|
- [Introduction to JavaPoet](https://www.baeldung.com/java-poet)
|
||||||
- [Guide to Resilience4j](https://www.baeldung.com/resilience4j)
|
- [Guide to Resilience4j](https://www.baeldung.com/resilience4j)
|
||||||
- [Exactly Once Processing in Kafka](https://www.baeldung.com/kafka-exactly-once)
|
|
||||||
- [Implementing a FTP-Client in Java](https://www.baeldung.com/java-ftp-client)
|
- [Implementing a FTP-Client in Java](https://www.baeldung.com/java-ftp-client)
|
||||||
- [Introduction to Functional Java](https://www.baeldung.com/java-functional-library)
|
- [Introduction to Functional Java](https://www.baeldung.com/java-functional-library)
|
||||||
- [A Guide to the Reflections Library](https://www.baeldung.com/reflections-library)
|
- [A Guide to the Reflections Library](https://www.baeldung.com/reflections-library)
|
||||||
|
|
||||||
|
- [Exactly Once Processing in Kafka](https://www.baeldung.com/kafka-exactly-once)
|
||||||
- More articles [[next -->]](/libraries-2)
|
- More articles [[next -->]](/libraries-2)
|
||||||
|
|
|
@ -70,11 +70,11 @@
|
||||||
<version>${jnats.version}</version>
|
<version>${jnats.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>rome</groupId>
|
<!-- <groupId>rome</groupId>-->
|
||||||
<artifactId>rome</artifactId>
|
<!-- <artifactId>rome</artifactId>-->
|
||||||
<version>${rome.version}</version>
|
<!-- <version>${rome.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.serenity-bdd</groupId>
|
<groupId>net.serenity-bdd</groupId>
|
||||||
<artifactId>serenity-core</artifactId>
|
<artifactId>serenity-core</artifactId>
|
||||||
|
@ -218,11 +218,11 @@
|
||||||
<artifactId>quartz</artifactId>
|
<artifactId>quartz</artifactId>
|
||||||
<version>${quartz.version}</version>
|
<version>${quartz.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>one.util</groupId>
|
<!-- <groupId>one.util</groupId>-->
|
||||||
<artifactId>streamex</artifactId>
|
<!-- <artifactId>streamex</artifactId>-->
|
||||||
<version>${streamex.version}</version>
|
<!-- <version>${streamex.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jooq</groupId>
|
<groupId>org.jooq</groupId>
|
||||||
<artifactId>jool</artifactId>
|
<artifactId>jool</artifactId>
|
||||||
|
@ -256,18 +256,18 @@
|
||||||
</exclusion>
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>org.awaitility</groupId>
|
<!-- <groupId>org.awaitility</groupId>-->
|
||||||
<artifactId>awaitility</artifactId>
|
<!-- <artifactId>awaitility</artifactId>-->
|
||||||
<version>${awaitility.version}</version>
|
<!-- <version>${awaitility.version}</version>-->
|
||||||
<scope>test</scope>
|
<!-- <scope>test</scope>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>org.awaitility</groupId>
|
<!-- <groupId>org.awaitility</groupId>-->
|
||||||
<artifactId>awaitility-proxy</artifactId>
|
<!-- <artifactId>awaitility-proxy</artifactId>-->
|
||||||
<version>${awaitility.version}</version>
|
<!-- <version>${awaitility.version}</version>-->
|
||||||
<scope>test</scope>
|
<!-- <scope>test</scope>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.hamcrest</groupId>
|
<groupId>org.hamcrest</groupId>
|
||||||
<artifactId>java-hamcrest</artifactId>
|
<artifactId>java-hamcrest</artifactId>
|
||||||
|
@ -284,42 +284,42 @@
|
||||||
<artifactId>byte-buddy-agent</artifactId>
|
<artifactId>byte-buddy-agent</artifactId>
|
||||||
<version>${bytebuddy.version}</version>
|
<version>${bytebuddy.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>org.pcollections</groupId>
|
<!-- <groupId>org.pcollections</groupId>-->
|
||||||
<artifactId>pcollections</artifactId>
|
<!-- <artifactId>pcollections</artifactId>-->
|
||||||
<version>${pcollections.version}</version>
|
<!-- <version>${pcollections.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>com.machinezoo.noexception</groupId>
|
<!-- <groupId>com.machinezoo.noexception</groupId>-->
|
||||||
<artifactId>noexception</artifactId>
|
<!-- <artifactId>noexception</artifactId>-->
|
||||||
<version>${noexception.version}</version>
|
<!-- <version>${noexception.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>org.eclipse.collections</groupId>
|
<!-- <groupId>org.eclipse.collections</groupId>-->
|
||||||
<artifactId>eclipse-collections</artifactId>
|
<!-- <artifactId>eclipse-collections</artifactId>-->
|
||||||
<version>${eclipse-collections.version}</version>
|
<!-- <version>${eclipse-collections.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>io.vavr</groupId>
|
<!-- <groupId>io.vavr</groupId>-->
|
||||||
<artifactId>vavr</artifactId>
|
<!-- <artifactId>vavr</artifactId>-->
|
||||||
<version>${vavr.version}</version>
|
<!-- <version>${vavr.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>com.haulmont.yarg</groupId>
|
<!-- <groupId>com.haulmont.yarg</groupId>-->
|
||||||
<artifactId>yarg</artifactId>
|
<!-- <artifactId>yarg</artifactId>-->
|
||||||
<version>${yarg.version}</version>
|
<!-- <version>${yarg.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>net.engio</groupId>
|
<!-- <groupId>net.engio</groupId>-->
|
||||||
<artifactId>mbassador</artifactId>
|
<!-- <artifactId>mbassador</artifactId>-->
|
||||||
<version>${mbassador.version}</version>
|
<!-- <version>${mbassador.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>org.jdeferred</groupId>
|
<!-- <groupId>org.jdeferred</groupId>-->
|
||||||
<artifactId>jdeferred-core</artifactId>
|
<!-- <artifactId>jdeferred-core</artifactId>-->
|
||||||
<version>${jdeferred.version}</version>
|
<!-- <version>${jdeferred.version}</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.codepoetics</groupId>
|
<groupId>com.codepoetics</groupId>
|
||||||
<artifactId>protonpack</artifactId>
|
<artifactId>protonpack</artifactId>
|
||||||
|
@ -572,14 +572,14 @@
|
||||||
<jUnitParams.version>1.1.0</jUnitParams.version>
|
<jUnitParams.version>1.1.0</jUnitParams.version>
|
||||||
<java-lsh.version>0.10</java-lsh.version>
|
<java-lsh.version>0.10</java-lsh.version>
|
||||||
<pact.version>3.5.0</pact.version>
|
<pact.version>3.5.0</pact.version>
|
||||||
<awaitility.version>3.0.0</awaitility.version>
|
<!-- <awaitility.version>3.0.0</awaitility.version>-->
|
||||||
<org.hamcrest.java-hamcrest.version>2.0.0.0</org.hamcrest.java-hamcrest.version>
|
<org.hamcrest.java-hamcrest.version>2.0.0.0</org.hamcrest.java-hamcrest.version>
|
||||||
<bytebuddy.version>1.7.1</bytebuddy.version>
|
<bytebuddy.version>1.7.1</bytebuddy.version>
|
||||||
<pcollections.version>2.1.2</pcollections.version>
|
<!-- <pcollections.version>2.1.2</pcollections.version>-->
|
||||||
<rome.version>1.0</rome.version>
|
<!-- <rome.version>1.0</rome.version>-->
|
||||||
<eclipse-collections.version>8.2.0</eclipse-collections.version>
|
<!-- <eclipse-collections.version>8.2.0</eclipse-collections.version>-->
|
||||||
<streamex.version>0.6.5</streamex.version>
|
<!-- <streamex.version>0.6.5</streamex.version>-->
|
||||||
<vavr.version>0.9.0</vavr.version>
|
<!-- <vavr.version>0.9.0</vavr.version>-->
|
||||||
|
|
||||||
<protonpack.version>1.15</protonpack.version>
|
<protonpack.version>1.15</protonpack.version>
|
||||||
<caffeine.version>2.5.5</caffeine.version>
|
<caffeine.version>2.5.5</caffeine.version>
|
||||||
|
@ -604,10 +604,10 @@
|
||||||
<quartz.version>2.3.0</quartz.version>
|
<quartz.version>2.3.0</quartz.version>
|
||||||
<jool.version>0.9.12</jool.version>
|
<jool.version>0.9.12</jool.version>
|
||||||
<jmh.version>1.19</jmh.version>
|
<jmh.version>1.19</jmh.version>
|
||||||
<noexception.version>1.1.0</noexception.version>
|
<!-- <noexception.version>1.1.0</noexception.version>-->
|
||||||
<yarg.version>2.0.4</yarg.version>
|
<!-- <yarg.version>2.0.4</yarg.version>-->
|
||||||
<mbassador.version>1.3.1</mbassador.version>
|
<!-- <mbassador.version>1.3.1</mbassador.version>-->
|
||||||
<jdeferred.version>1.2.6</jdeferred.version>
|
<!-- <jdeferred.version>1.2.6</jdeferred.version>-->
|
||||||
<functionaljava.version>4.8.1</functionaljava.version>
|
<functionaljava.version>4.8.1</functionaljava.version>
|
||||||
<fugue.version>4.5.1</fugue.version>
|
<fugue.version>4.5.1</fugue.version>
|
||||||
<maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
|
<maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
|
||||||
|
|
4
pom.xml
4
pom.xml
|
@ -1011,6 +1011,10 @@
|
||||||
<!-- <module>lagom</module> --> <!-- Not a maven project -->
|
<!-- <module>lagom</module> --> <!-- Not a maven project -->
|
||||||
<module>libraries-2</module>
|
<module>libraries-2</module>
|
||||||
<module>libraries-3</module>
|
<module>libraries-3</module>
|
||||||
|
<module>libraries-4</module>
|
||||||
|
<!-- <module>libraries-5</module>-->
|
||||||
|
<!-- <module>libraries-6</module>-->
|
||||||
|
|
||||||
<module>libraries-apache-commons</module>
|
<module>libraries-apache-commons</module>
|
||||||
<module>libraries-apache-commons-collections</module>
|
<module>libraries-apache-commons-collections</module>
|
||||||
<module>libraries-apache-commons-io</module>
|
<module>libraries-apache-commons-io</module>
|
||||||
|
|
Loading…
Reference in New Issue