Я пытаюсь получить доступ к классам из servlet-api в javaagent jar, который добавлен в мое приложение через флаг -javaagent: my-agent.jar. Мое приложение работает на Tomcat. Проблема в том, что я получаю исключение ClassNotFoundException, потому что контейнер агента загружается загрузчиком классов, который не имеет доступа к классам servlet-api.Доступ к сервлет-api в javaagent
Более конкретно, я хочу, чтобы включить 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 не мог быть найденным.
Есть ли способ получить доступ к сервлета-api внутри javaagent? Или, в более общем плане, можно ли получить доступ к любому классу, который загружается через ApplicationClassLoader, например классы из Spring Framework?
Вы решили что? – nadavy
нет, еще нет :-( – Felix
@Felix Любые удачи при загрузке динамического сервлета из javaagent jar? – Vikdor