Ответ 1
Вы можете установить системный загрузчик классов по умолчанию в качестве аргумента JVM:
java -Djava.system.class.loader
=com.test.YourCustomClassLoader com.test.YourMainClass
Поскольку Tomcat запускается как приложение Java, вы также можете установить этот параметр в исполняемом файле %TOMCAT_HOME%\bin\run.bat
или $TOMCAT_HOME/bin/run.sh
.
Изменить для завершения:
Если вы установите загрузчик классов в качестве загрузчика класса System, он будет использоваться для загрузки классов компонентов Tomcat, разных библиотек и ваших собственных классов.
Если вы хотите, чтобы ваш загрузчик классов использовался только для ваших классов приложений (включая библиотеки и т.д.), Вы должны настроить элемент Loader
для своего контекста.
Элемент Loader должен быть определен внутри вашего элемента Context
, который может быть определен в файле context.xml
.
Дополнительная информация:
- Apache Tomcat: загрузчик классов HOW-TO: определяет, как ClassLoaders работают в Tomcat.
- Справочник по конфигурации Tomcat: Контекстный контейнер: как определить свой элемент
Context
- Справочник по конфигурации Tomcat: Компонент загрузчика: Как определить свой пользовательский элемент
Loader
для вашего собственногоContext
.