Getting a list of ClassPath scanned by a Java Program

In this post under Java, I will post the code which will list all the paths a Java Program uses to search for linked jars and resources.

Below is the main method

Main class


1  package classloader;
2  
3  import java.net.URL;
4  import java.net.URLClassLoader;
5  
6  public class ClassPath {
7      public static void main(String[] args) {
8          ClassLoader cl = ClassLoader.getSystemClassLoader();
9          URL[] urls = ((URLClassLoader)cl).getURLs();
10         for(URL url: urls){
11             System.out.println(url.getFile());
12         }
13     }
14 }

In the above code, at line 8 we are getting an instance of ClassLoader interface.

At line 9, we are getting a list of URL instances representing all the paths used by the classloader to search for jars and resources.

In the for loop we are printing the paths.

Below is the output

Output

/C:/Program%20Files/Java/jre1.8.0_311/lib/resources.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/rt.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/jsse.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/jce.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/charsets.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/jfr.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/access-bridge-64.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/cldrdata.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/dnsns.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/jaccess.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/jfxrt.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/localedata.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/nashorn.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/sunec.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/sunjce_provider.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/sunmscapi.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/sunpkcs11.jar
/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/zipfs.jar
/E:/ProgrammingConcepts/JavaSEConcepts/JavaConcepts/bin/
/E:/DevelopmentTool/MySQL/mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar

Leave a Reply