我想通過-javaagent:my-agent.jar標誌添加到我的應用程序中的javaagent jar中的servlet-api中訪問類。我的應用程序在Tomcat上運行。問題是我得到一個ClassNotFoundException,因爲代理jar由一個沒有訪問servlet-api類的類加載器加載。在javaagent中訪問servlet-api
更具體地說,我想包括ServletContainerInitializer在我javaagent
public class MyInitializer implements ServletContainerInitializer {
@Override
public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
System.out.println(ctx);
}
}
META-INF /服務/ javax.servlet.ServletContainerInitializer
org.example.MyInitializer
結果是一個ClassNotFoundException因爲ServletContainerInitializer不能被發現。
有沒有辦法訪問javaagent中的servlet-api?或者更一般地說,是否可以訪問任何通過ApplicationClassLoader加載的類,就像Spring框架中的類一樣?
有你解決了嗎? – nadavy
不,還沒有:-( – Felix
@Felix從javaagent jar中加載動態servlet有什麼好運? – Vikdor