У нас есть несколько приложений Java EE, основанных на средах с открытым исходным кодом, таких как упомянутые выше. WEB-INF / lib для каждого приложения имеет следующие общие файлы:
antlr-2.7.6.jar*
aopalliance-1.0.jar*
asm-3.3.1.jar*
aspectjrt-1.6.8.jar*
aspectjweaver-1.6.8.jar*
cglib-2.2.jar*
commons-beanutils-1.8.3.jar*
commons-collections-3.1.jar*
commons-dbcp-1.4.jar*
commons-digester-2.1.jar*
commons-fileupload-1.1.1.jar*
commons-io-2.0.1.jar*
commons-logging-1.1.1.jar*
commons-pool-1.5.6.jar*
dom4j-1.6.1.jar*
hibernate-jpa-2.0-api-1.0.0.Final.jar*
hibernate-tools.jar*
hibernate-validator-4.1.0.Final.jar*
hibernate3.jar*
jackson-all-1.7.5.jar*
javassist-3.12.0.GA.jar*
javax.inject.jar*
log4j-1.2.16.jar*
org.springframework.aop-3.0.5.RELEASE.jar*
org.springframework.asm-3.0.5.RELEASE.jar*
org.springframework.beans-3.0.5.RELEASE.jar*
org.springframework.context-3.0.5.RELEASE.jar*
org.springframework.context.support-3.0.5.RELEASE.jar*
org.springframework.core-3.0.5.RELEASE.jar*
org.springframework.expression-3.0.5.RELEASE.jar*
org.springframework.jdbc-3.0.5.RELEASE.jar*
org.springframework.orm-3.0.5.RELEASE.jar*
org.springframework.transaction-3.0.5.RELEASE.jar*
org.springframework.web-3.0.5.RELEASE.jar*
org.springframework.web.servlet-3.0.5.RELEASE.jar*
poi-3.7-20101029.jar*
slf4j-api-1.6.1.jar*
slf4j-ext-1.6.1.jar*
slf4j-log4j12-1.6.1.jar*
spring-security-acl-3.0.5.RELEASE.jar*
spring-security-aspects-3.0.5.RELEASE.jar*
spring-security-config-3.0.5.RELEASE.jar*
spring-security-core-3.0.5.RELEASE.jar*
spring-security-taglibs-3.0.5.RELEASE.jar*
spring-security-web-3.0.5.RELEASE.jar*
testng-6.0.1.jar*
tiles-api-2.2.2.jar*
tiles-core-2.2.2.jar*
tiles-jsp-2.2.2.jar*
tiles-servlet-2.2.2.jar*
tiles-template-2.2.2.jar*
validation-api-1.0.0.GA.jar*
Мы сталкиваемся с постоянными ошибками при развертывании, каждая война занимает не более 20 МБ, при этом основная масса файлов сторонних производителей.
Поскольку все приложения имеют одинаковую версию для всех проектов с открытым исходным кодом, мне интересно, будет ли это нормально, если я переместу Spring, Spring Security, Spring Tiles, Hibernate, связанные с Hibernate сторонние фляги (cglib, antlr, и т.д.), ведение журнала и apache-commons. * в папке TOMCAT / lib.
Я помню со времен Struts (2003 или 2004), что каждое веб-приложение должно было иметь свою собственную копию jar-файлов Struts, и совместное использование на уровне сервера приложений не поощрялось. Применимо ли какое-либо подобное уныние (кроме версий)?
В качестве вспомогательного вопроса: существует ли общее правило, которым следует следовать, какие банки сторонних производителей могут или не могут быть общими (если это не указано явно в документации?
Буду признателен за любую помощь.
Спасибо.