Как лучше всего обращаться с банками-дубликатами? - PullRequest
0 голосов
/ 30 декабря 2011

Я включаю JBPM5.2 в свой существующий проект. Я заметил, что некоторые файлы JAR дублированы. ниже список

                        my      jbpm
activation-1.1.jar  1.1 1.1
antlr-2.7.7.jar         2.7.7   2.7.7
Common-collections  2.1 3.1
common-io           1.1 1.4
dom4j-1.6.1.jar         1.6.1   1.6.1
Jdom-1.0.jar            1.0 1.0
Jta.jar                 1.0 1.1
Log4j                   1.2.15  1.2.14
Mail.jar            1.4 1.4

Я не заинтересован в обновлении этих jar-файлов, потому что это означает, что я должен провести тщательный регрессионный тест своих существующих функций, что очень много. В основном я ищу безопасный и простой способ.

Я считаю, что это очень распространенная проблема, с которой сталкиваются многие люди. Может ли кто-нибудь поделиться со мной своим подходом в этом.

Ответы [ 2 ]

0 голосов
/ 01 января 2012

Итак, какая зависимость у вашего приложения от jbpm?Будет ли jbpm и ваш jar находиться в одной и той же JVM под одним и тем же загрузчиком классов?Если так, у вас есть проблема.Обновление - это only правильное решение.

Обычно в чем-то вроде веб-приложения, например Tomcat или Jetty, библиотеки, необходимые серверу, находятся на пути к классам сервера.У каждого развертываемого веб-приложения есть свой загрузчик классов.Библиотеки, от которых вы зависите, доступны в этом загрузчике классов, который не загрязняет сам контейнер.

0 голосов
/ 30 декабря 2011

Несколько вариантов, которые я могу придумать

  1. Если ваша единица развертывания - EAR (я не уверен, применимо ли это для вашего приложения). Поскольку WAR может иметь свой собственный загрузчик классов, вы можете локализовать jar-файлы в веб-приложение. Пролистать этот пост Стандарт загрузки класса Java EE

  2. Другой возможностью является развертывание JBPM как отдельного приложения.

  3. Обновление jar ( мое предпочтение ): Из того, что я вижу, commons- * являются единственными jar, которые откладывают это также только в MINOR версиях. Так что вам не нужно ни о чем беспокоиться. Тест на дым или простые функциональные тесты - все, что вам может понадобиться.

...