Classloaders.jsp

From Resin 3.0

Revision as of 16:05, 21 February 2006 by Sam (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following jsp will reveal the classpath that is in effect for your web-app (but not if you are using the servlet-hack):

<%@ page import="com.caucho.loader.*, java.util.*" %>

<ol>
<%
  LinkedList loaders = new LinkedList();

  ClassLoader loader = Thread.currentThread().getContextClassLoader();

  while (loader != null) {
    loaders.addFirst(loader);
    loader = loader.getParent();
  }

  Iterator iter = loaders.iterator();

  while (iter.hasNext()) {
    loader  = (ClassLoader) iter.next();
    out.print("<li>");
    out.println(loader.toString());
  
    if (loader instanceof DynamicClassLoader) {
     
      out.print("<ul>");
 
      DynamicClassLoader dynamicClassLoader = (DynamicClassLoader) loader;
 
      String classPath = dynamicClassLoader.getLocalClassPath();
      String pathSeparator = "" + java.io.File.pathSeparatorChar;
 
      classPath = "<li>" + classPath.replace(pathSeparator, "\n<li>");
      out.println(classPath);
 
      out.print("</ul>");
    }
  }
%>
</ol>
Personal tools