Here you can find the source of getClasspath(ClassLoader classLoader)
public static List<URL> getClasspath(ClassLoader classLoader)
//package com.java2s; /*// w w w . j a v a 2 s . c om * Copyright 2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Main { public static List<URL> getClasspath(ClassLoader classLoader) { List<URL> implementationClassPath = new ArrayList<URL>(); ClassLoader stopAt = ClassLoader.getSystemClassLoader() == null ? null : ClassLoader.getSystemClassLoader().getParent(); for (ClassLoader cl = classLoader; cl != null && cl != stopAt; cl = cl.getParent()) { if (cl instanceof URLClassLoader) { implementationClassPath.addAll(Arrays.asList(((URLClassLoader) cl).getURLs())); } } return implementationClassPath; } }