使用javaagent获取web应用程序类?

使用javaagent获取web应用程序类?,java,instrumentation,javassist,Java,Instrumentation,Javassist,有没有一种方法可以检索web应用程序加载的类或类加载器 例如,如果我使用此代码: ClassLoader c=getClass().getClassLoader(); logmsg("c="+c); URLClassLoader u=(URLClassLoader)c; URL[] urls=u.getURLs(); for (URL i : urls) { logmsg("url: "+i); } 我正在获取代理使用的库,而不是web应用程序看看这个包。它使用javassist提供运

有没有一种方法可以检索web应用程序加载的类或类加载器

例如,如果我使用此代码:

ClassLoader c=getClass().getClassLoader();
logmsg("c="+c);
URLClassLoader u=(URLClassLoader)c;
URL[] urls=u.getURLs();
for (URL i : urls) {
    logmsg("url: "+i);
}
我正在获取代理使用的库,而不是web应用程序

看看这个包。它使用javassist提供运行时类元数据查找。为了定位正确的类路径URL,它提供了一个帮助器类。ClasspathHelper提供了两个静态方法,通过传递目标WebApp的ServletContext返回WebApp的URL:

static URL forWebInfClasses(javax.servlet.ServletContext servletContext)
static Set<URL> forWebInfLib(javax.servlet.ServletContext servletContext)
WebInfClasses的静态URL(javax.servlet.ServletContext)
WebInflib的静态集(javax.servlet.ServletContext)
看看包装。它使用javassist提供运行时类元数据查找。为了定位正确的类路径URL,它提供了一个帮助器类。ClasspathHelper提供了两个静态方法,通过传递目标WebApp的ServletContext返回WebApp的URL:

static URL forWebInfClasses(javax.servlet.ServletContext servletContext)
static Set<URL> forWebInfLib(javax.servlet.ServletContext servletContext)
WebInfClasses的静态URL(javax.servlet.ServletContext)
WebInflib的静态集(javax.servlet.ServletContext)