From 496fddbb2826489534af2bc3c9242c106cc23927 Mon Sep 17 00:00:00 2001 From: ravipathak Date: Wed, 5 Jan 2022 00:56:45 +0000 Subject: [PATCH] BAEL-5158: Sample App and Unit test for finding ObjectMapper class in a jar. --- core-java-modules/core-java-jar/README.md | 1 + .../src/main/java/com/baeldung/jar/JarApp.java | 18 ++++++++++++++++++ .../java/com/baeldung/jar/JarAppUnitTest.java | 12 ++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarApp.java create mode 100644 core-java-modules/core-java-jar/src/test/java/com/baeldung/jar/JarAppUnitTest.java diff --git a/core-java-modules/core-java-jar/README.md b/core-java-modules/core-java-jar/README.md index f83ea496ab..fe57ede08a 100644 --- a/core-java-modules/core-java-jar/README.md +++ b/core-java-modules/core-java-jar/README.md @@ -8,3 +8,4 @@ This module contains articles about JAR files - [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class) - [Guide to Creating and Running a Jar File in Java](https://www.baeldung.com/java-create-jar) - [Get Names of Classes Inside a JAR File](https://www.baeldung.com/jar-file-get-class-names) + [Find All Jars Containing Given Class](https://baeldung.com/find-all-jars-containing-given-class/) \ No newline at end of file diff --git a/core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarApp.java b/core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarApp.java new file mode 100644 index 0000000000..0cdcd3c89e --- /dev/null +++ b/core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarApp.java @@ -0,0 +1,18 @@ +package com.baeldung.jar; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.net.URL; + +public class JarApp { + + public static String findObjectMapperClass() { + Class klass = ObjectMapper.class; + URL path = klass.getProtectionDomain().getCodeSource().getLocation(); + return path.toString(); + } + + public static void main(String[] args) { + System.out.println(findObjectMapperClass()); + } +} diff --git a/core-java-modules/core-java-jar/src/test/java/com/baeldung/jar/JarAppUnitTest.java b/core-java-modules/core-java-jar/src/test/java/com/baeldung/jar/JarAppUnitTest.java new file mode 100644 index 0000000000..dc8c54eb31 --- /dev/null +++ b/core-java-modules/core-java-jar/src/test/java/com/baeldung/jar/JarAppUnitTest.java @@ -0,0 +1,12 @@ +package com.baeldung.jar; + +import org.junit.Assert; +import org.junit.jupiter.api.Test; + +public class JarAppUnitTest { + + @Test + public void findClassTest(){ + Assert.assertTrue(JarApp.findObjectMapperClass().endsWith("jackson-databind-2.13.0.jar")); + } +}