weblogic部署war冲突解决记录

  1. 问题描述:应用在tomcat上运行没有问题,在weblogic报错。

原因1

观察日志的最后一行,不要自动换行,异常一般会嵌套很多层,看到最后一层应该就是问题的源头,这次找到的问题原因是org.joda.time.DateTime 包冲突了,解决办法是
在weblogic.xml 中加入

<container-descriptor>
		<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
		<prefer-application-packages>
	     	<package-name>antlr.*</package-name>
			......
			<package-name>org.slf4j.*</package-name>
	 	 </prefer-application-packages>
	</container-descriptor>
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.xxx.xxx.jobscheduler.service.impl.JobSchedulerServiceImpl]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.joda.time.DateTime.<init>(IIIII)V

原因2 缺少jstl 和standard,在tomcat不用引入这两个也能正常启动。这两个错误的表现是

java.lang.ClassNotFoundException: org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag
weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag
 <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
原文地址:https://www.cnblogs.com/mumian2/p/10490770.html