Загрузчик классов по умолчанию Tomcat применяет следующий приоритет для пути к классам ( source )
- Загрузочные классы вашей JVM
- / WEB-INF/ классы вашего веб-приложения
- / WEB-INF / lib / *. jar вашего веб-приложения
- Классы загрузчика системных классов
- Общие классы загрузчика классов
Мы можем настроить его, включив делегат в context.xml
<Loader delegate="true"/>
- Загрузочные классы вашегоJVM
- Классы загрузчика системных классов
- Классы загрузчиков общих классов
- / WEB-INF / классы вашего веб-приложения
- / WEB-INF / lib / *. Jar вашего веб-приложения
В обоих случаях веб-приложение просматривает / WEB-INF / lib/*.jar вашего веб-приложения после / WEB-INF / classes .
Это неприятно для меня, потому что у меня есть 2 банки;
JAR 1
- DoSomethingCool.java
- doSomething-bean.xml
- doSomething-property.properties
И
JAR 2
- doSomething-bean.xml
- doSomething-property.properties
По некоторым причинам,DoSomethingCool.java выбирает определение пружинного компонента из JAR2> doSomething-bean.xml вместо своего собственного.
Можно ли настроить загрузчик классов tomcat так, чтобы класс смотрел в своем собственном JAR-файлесначала, прежде чем смотреть в других местах?