|
|
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
Заметили вот такое вот явление: Есть приложение, которое собирается мавеном. При запуске приложения из под джетти всё ок. А при запуске из под томката(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 не используется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 19:11 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 19:17 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Ну если честно мне это особо не помогло. Получается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 19:59 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
questionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают. Когда все jar-ы свалены в кучу, порядок загрузки никто не гарантирует. Google -> Jar Hell ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 20:31 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczquestionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают. Когда все jar-ы свалены в кучу, порядок загрузки никто не гарантирует. Google -> Jar Hell А проблема кстати в том, что нельзя загрузить 2 класса с одним именем или именно в том, 2 версии либы нельзя загрузить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 23:34 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
questionerА проблема кстати в том, что нельзя загрузить 2 класса с одним именем или именно в том, 2 версии либы нельзя загрузить? И то и другое. В контексте одного Classloader-а нельзя иметь две либы разных версий, потому что у них, обычно, разные классы с одинаковыми именами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 07:33 |
|
||
|
Как влияет контейнер на управление classpath?
|
|||
|---|---|---|---|
|
#18+
questionerПолучается, что у нас один и тот же варник, который собирает мавен в обоих случаях и разные контейнеры его по разному загружают.Я придерживаюсь простого правила - контейнер должен содержать единственную версию каждой библиотеки. Более того, если контейнер хостит несколько приложений, использующих одну библиотеку - я размещу её в общем загрузчике и уберу из прикладных. Если, конечно, к этому нет препятствий. Ну а способы разрешения конфликтов могут быть разными. Насколько я понимаю - Tomcat полностью делегирует эту проблему системному администратору, Jetty - пытается (как-то) выкрутится самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 15:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38986251&tid=2125280]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 510ms |

| 0 / 0 |
