powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как влияет контейнер на управление classpath?
7 сообщений из 7, страница 1 из 1
Как влияет контейнер на управление classpath?
    #38986228
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заметили вот такое вот явление:

Есть приложение, которое собирается мавеном.

При запуске приложения из под джетти всё ок.

А при запуске из под томката(8)
вываливается следующая ошибка:
авторERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'systemGroupDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.terminal.dao.impl.SystemGroupDaoImpl.sessionFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [META-INF/dataContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;

Причина в принципе ясна. В classpath 2 либы jpa. jpa 2.0 и jpa 2.1. В одной версии либы есть такой-то метод, а в другой нет.

Но у меня есть непонимание того какая разница какой контейнер используется. В чем разница ? как контейнер влияет на classpath ?


P.S.
scope provided не используется
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38986232
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38986251
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Ну если честно мне это особо не помогло.

Получается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают.
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38986265
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают.
Когда все jar-ы свалены в кучу, порядок загрузки никто не гарантирует. Google -> Jar Hell
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38986344
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczquestionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают.
Когда все jar-ы свалены в кучу, порядок загрузки никто не гарантирует. Google -> Jar Hell

А проблема кстати в том, что нельзя загрузить 2 класса с одним именем или именно в том, 2 версии либы нельзя загрузить?
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38986438
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerА проблема кстати в том, что нельзя загрузить 2 класса с одним именем или именно в том, 2 версии либы нельзя загрузить?
И то и другое. В контексте одного Classloader-а нельзя иметь две либы разных версий, потому что у них, обычно, разные классы с одинаковыми именами.
...
Рейтинг: 0 / 0
Как влияет контейнер на управление classpath?
    #38987092
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают.Я придерживаюсь простого правила - контейнер должен содержать единственную версию каждой библиотеки.
Более того, если контейнер хостит несколько приложений, использующих одну библиотеку - я размещу её в общем загрузчике и уберу из прикладных. Если, конечно, к этому нет препятствий.
Ну а способы разрешения конфликтов могут быть разными. Насколько я понимаю - Tomcat полностью делегирует эту проблему системному администратору, Jetty - пытается (как-то) выкрутится самостоятельно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как влияет контейнер на управление classpath?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]