Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Дублирование пакетов в WEB-INF/lib / 11 сообщений из 11, страница 1 из 1
25.12.2012, 18:26:14
    #38092408
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Посмотрел сегодня JetBrain-овский YouTrack.
Был неприятно поражён дублированием разных версий одного и того же: пара log4j, commons-logging и т.п.
Я отстал от жизни и не понимаю модных правильных тенденций?
...
Рейтинг: 0 / 0
25.12.2012, 18:32:36
    #38092415
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Оно точно именно то чем хочет казатся? Там внутри jar-ов полноценные реализации, а не просто патчи?
...
Рейтинг: 0 / 0
25.12.2012, 18:47:25
    #38092432
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
BlazkowiczОно точно именно то чем хочет казатся? Там внутри jar-ов полноценные реализации, а не просто патчи?pom-ы двух commons-lang:
Код: sql
1.
2.
3.
4.
5.
#Generated by Maven
#Sat Mar 15 20:43:16 PDT 2008
version=2.4
groupId=commons-lang
artifactId=commons-lang

и
Код: sql
1.
2.
3.
4.
5.
#Generated by Maven
#Thu Jan 13 23:06:50 GMT 2011
version=2.6
groupId=commons-lang
artifactId=commons-lang

Очень похожи на архивную и актуальную версию. С репозиторием апача - не сравнивал.
Если выкинуть дубли - видимых "повреждений" не происходит.
Я предполагаю, что загрузчики классов в состоянии и не такое разрулить, но зачем вообще этот, с моей кочки зрения, бардак?
...
Рейтинг: 0 / 0
25.12.2012, 18:56:55
    #38092440
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Сравни manifest.mf. Судя по всему это как-то связано с OSGi контейнером.
...
Рейтинг: 0 / 0
25.12.2012, 19:21:02
    #38092466
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Built-By: pemben
Build-Jdk: 1.6.0_20
Implementation-Title: Commons Lang
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 2.6
Specification-Title: Commons Lang
Specification-Vendor: The Apache Software Foundation
Specification-Version: 2.6
X-Compile-Source-JDK: 1.3
X-Compile-Target-JDK: 1.3
Export-Package: org.apache.commons.lang.enum;version="2.6",org.apache.
 commons.lang.enums;version="2.6",org.apache.commons.lang.builder;vers
 ion="2.6",org.apache.commons.lang.time;version="2.6",org.apache.commo
 ns.lang.exception;version="2.6",org.apache.commons.lang.mutable;versi
 on="2.6",org.apache.commons.lang.text;version="2.6",org.apache.common
 s.lang.reflect;version="2.6",org.apache.commons.lang.math;version="2.
 6",org.apache.commons.lang;version="2.6"
Tool: Bnd-0.0.255
Bundle-Name: Commons Lang
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 2.6
Bnd-LastModified: 1294959997975
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Commons Lang, a package of Java utility classes fo
 r the        classes that are in java.lang's hierarchy, or are consid
 ered to be so        standard as to justify existence in java.lang.
Bundle-SymbolicName: org.apache.commons.lang
Bundle-DocURL: http://commons.apache.org/lang/

и
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.4.2_16 (Apple Computer, Inc.)
Built-By: hen
Build-Jdk: 1.4.2_16
Implementation-Title: Commons Lang
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 2.4
Specification-Title: Commons Lang
Specification-Vendor: The Apache Software Foundation
Specification-Version: 2.4
X-Compile-Source-JDK: 1.3
X-Compile-Target-JDK: 1.2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: org.apache.commons.lang;version="2.4",org.apache.commo
 ns.lang.builder;version="2.4",org.apache.commons.lang.enum;version="2
 .4",org.apache.commons.lang.enums;version="2.4",org.apache.commons.la
 ng.exception;version="2.4",org.apache.commons.lang.math;version="2.4"
 ,org.apache.commons.lang.mutable;version="2.4",org.apache.commons.lan
 g.text;version="2.4",org.apache.commons.lang.time;version="2.4"
Bnd-LastModified: 1205638979942
Export-Package: org.apache.commons.lang.math;version="2.4",org.apache.
 commons.lang.enums;version="2.4",org.apache.commons.lang.builder;vers
 ion="2.4",org.apache.commons.lang.exception;version="2.4",org.apache.
 commons.lang.enum;version="2.4",org.apache.commons.lang.mutable;versi
 on="2.4",org.apache.commons.lang.text;version="2.4",org.apache.common
 s.lang.time;version="2.4",org.apache.commons.lang;version="2.4"
Bundle-Version: 2.4
Bundle-Description: Commons Lang, a package of Java utility classes fo
 r the        classes that are in java.lang's hierarchy, or are consid
 ered to be so        standard as to justify existence in java.lang.
Bundle-Name: Commons Lang
Bundle-DocURL: http://commons.apache.org/lang/
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Bundle-SymbolicName: org.apache.commons.lang
Tool: Bnd-0.0.238

И в чём цимес?
...
Рейтинг: 0 / 0
25.12.2012, 19:26:05
    #38092474
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Basil A. SidorovИ в чём цимес?
Разные OSGi плагины работают с разными версиями.
...
Рейтинг: 0 / 0
25.12.2012, 19:46:34
    #38092503
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
BlazkowiczРазные OSGi плагины работают с разными версиями.Это более-менее понятно, но это - бред.
Единственное, что должно определять версию стороннего продукта - совместимость.
В дескрипторах это не прокодировать, но конкретно об apache-commons - очень заботится совместимости. По крайней мере то, что касается лично меня (collections, digester, discovery, logging, fileupload, io, compress, net). log4j - аналогично.

P.S. И - да, версии сторонних продуктов определяет не разрабатывающий, а развёртывающий.
...
Рейтинг: 0 / 0
25.12.2012, 19:53:21
    #38092511
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Basil A. SidorovВ дескрипторах это не прокодировать

OSGi и jigsaw как раз должны позволить разруливать совместимость с разными версиями jar-ов отдельных модулей.

Basil A. Sidorov, но конкретно об apache-commons - очень заботится совместимости. По крайней мере то, что касается лично меня (collections, digester, discovery, logging, fileupload, io, compress, net). log4j - аналогично.

Не очень понял что ты этим хотел сказать, но проблема как раз актуальна особенно для логгеров, и для некоторых apache commons.

Basil A. SidorovP.S. И - да, версии сторонних продуктов определяет не разрабатывающий, а развёртывающий.
Каких ещё продуктов? Продукт тут один - youtrack. Задача "развёртывающего" установить контейнер и запустить там JEE модуль. Детали реализации самого JEE модуля его не должны волновать, как и версии используемых библиотек.
...
Рейтинг: 0 / 0
26.12.2012, 18:00:21
    #38093924
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
BlazkowiczOSGi и jigsaw как раз должны позволить разруливать совместимость с разными версиями jar-ов отдельных модулей.Если два сторонних проекта конфликтуют на (какой-то одной) версии третьего стороннего проекта - они не должны использоваться совместно. Dixi.
А так получается, что OSGI/jigsaw просто заметают проблему под ковёр вместо её решения.
...
Рейтинг: 0 / 0
26.12.2012, 18:04:38
    #38093927
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Basil A. SidorovЕсли два сторонних проекта конфликтуют на (какой-то одной) версии третьего стороннего проекта - они не должны использоваться совместно. Dixi.
Отрицание это не решение.

Basil A. SidorovА так получается, что OSGI/jigsaw просто заметают проблему под ковёр вместо её решения.
jar-hell-у уже много лет. Сейчас сервера научились более-менее разруливать благодая изоляции. Следующий этап это адекватное решение. "Не использовать" это не решение это отказ.
...
Рейтинг: 0 / 0
26.12.2012, 18:21:18
    #38093950
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование пакетов в WEB-INF/lib
Blazkowiczjar-hell-у уже много лет. Сейчас сервера научились более-менее разруливать благодая изоляции.Ещё раз: разруливать должен не сервер, а сборщик проекта.
"Рукопашный" алгоритм - тривиален, автоматизация процесса выглядит несложно, но я не знаком инструментарием сборки настолько, чтобы описать готовый вариант."Не использовать" это не решение это отказ.Я написал "если".
У вас есть реальный пример, когда без изменения интерфейса и семантики ломалась совместимость между версиями?
А во-вторых "использовать или не использовать" - решается на самом раннем этапе и я не вижу, в каком месте это решение "отказ".
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Дублирование пакетов в WEB-INF/lib / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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