由于有些客户在同一个server里部署多个应用,各个应用使用的jar包版本有所不同或者公共weblogic包里有不同版本的jar或其他原因,造成在部署我们的应用时,包冲突,导致部署失败;为了避免包冲突,可以通过配置,使得web应用启动时类装载采用从web-inf开始装载,具体方法是:通过对weblogic.xml添加如下参数实现,同时需要增加相应的必需包,例如xalan.jar 和xerces-2.6.2.jar(除非应用本身的lib里已包含),以保证系统能成功部署:
<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
如果使用了log4j,则日志的使用配置应在web.xml里进行配置,否则可能应用无法正常启动,配置内容如下:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
及如下listener:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

本文介绍了如何通过调整weblogic.xml配置来避免Web应用部署过程中的包冲突,并提供了日志配置的正确方法。通过在部署应用时采用从web-inf开始装载类,可以确保应用顺利启动,同时正确配置日志使用路径,避免应用无法正常启动的问题。
8822

被折叠的 条评论
为什么被折叠?



