Merge pull request #11665 from aalbatross/origin/BAEL-5158

BAEL-5158: Find which jar file a class is from
This commit is contained in:
davidmartinezbarua 2022-01-15 14:01:39 -03:00 committed by GitHub
commit bd34e3b56e
3 changed files with 31 additions and 0 deletions

View File

@ -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/)

View File

@ -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<ObjectMapper> klass = ObjectMapper.class;
URL path = klass.getProtectionDomain().getCodeSource().getLocation();
return path.toString();
}
public static void main(String[] args) {
System.out.println(findObjectMapperClass());
}
}

View File

@ -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"));
}
}