|
|
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
Hi all. What if I have different versions of same class in my classpath? What class will the classloader use? For example I have a web application that utilizes Hibernate and displaytag. There are commons-logging-1.0.2 for Hibernate and commons-logging-1.0.4 for displaytag in webapplication's classpath. Thanks in advance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2007, 23:48:10 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
В принципе, это зависит от реализации класслоадера. Обычно грузится первый найденный класс. Когда есть несколько джаров с одинаковыми названиями классов внутри, могут полететь ClassCastException'ы (когда один класс грузится из одного джара, другой из второго). Частично можно побороть sealed jar' ами. Но вообще, лучше конечно этого избегать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 11:37:58 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
Кроме ClassCastException существует ещё как минимум 2 исключеиния порожденные jar hell-ом. IllegalAccessException, который происходит когда класс обращается к примеру к protected методу объекта. Но класс объекта загружен другим загрузчиком и вуаля. И ещё LinkageError, точно уже не помню, эта ошибка сродни ClassCastException, только возникает при определенных условиях. И это уже не говоря о всяких NoSuchMethodError, когда в jar-hell учавствуют разные версии одних и тех же библиотек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 13:20:26 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz IllegalAccessException, который происходит когда класс обращается к примеру к protected методу объекта. Но класс объекта загружен другим загрузчиком и вуаля. хм, похоже у меня из-за этого была такая проблема, не знал, что такое может быть. /topic/395550&hl= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 17:32:50 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
wessenхм, похоже у меня из-за этого была такая проблема, не знал, что такое может быть. /topic/395550&hl= А кому я там ссылку давал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:24:40 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
Thanks to all. Very exhaustive. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:25:48 |
|
||
|
multiple jars of same type in classpath?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz wessenхм, похоже у меня из-за этого была такая проблема, не знал, что такое может быть. /topic/395550&hl= А кому я там ссылку давал? тык эту я прочитал - http://java.sun.com/developer/JDCTechTips/2001/tt0130.html , перешерстил весь jboss find-ом и grep-ом и ничего не нашел подозрительного. А вот из этого BlazkowiczIllegalAccessException, который происходит когда класс обращается к примеру к protected методу объекта. Но класс объекта загружен другим загрузчиком и вуаля. я понял, что достаточно загрузить библиотеку другим загрузчиком и без всяких Controlling Package Access With Security Permissions или Controlling Package Access With Sealed JAR Files, не будет доступа к protected методам классов данной библиотеки из классов загруженных другим класслоадером. Ну или я опять все перепутал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 11:34:48 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=648&tid=2146110]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
42ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
66ms |
get tp. blocked users: |
3ms |
| others: | 339ms |
| total: | 528ms |

| 0 / 0 |
