weblogic12c中找不到类NoClassDefFoundError org.springframework.aop.framework.AbstractAdvisingBeanPostProce

项目在tomcat中正常,但是在weblogic中找不到类。
项目是使用ssh框架开发的。spring版本是3.1.1 在tomcat7+jdk7和tomcat7+jdk8和weblogic10+jdk7正常,在weblogic 12.2.1.3.0上不正常。报找不到类,但是又不想升级spring怕各种不兼容。

首先创建weblogic.xml配置文件,内容如下这是ssh框架的,别的自己百度。

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
	xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsdhttp://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
	<container-descriptor>
		<!--<prefer-web-inf-classes>true</prefer-web-inf-classes> -->

		<!--解决weblogic的ClientInstanceInvocationHandler和org.apache.cxf.frontend.ClientProxy冲突 -->
		<!-- 不用,有大问题 -->
		<!-- <prefer-application-resources> -->
		<!-- <resource-name>META-INF/services/javax.xml.ws.spi.Provider</resource-name> -->
		<!-- </prefer-application-resources> -->

		<prefer-application-packages>
			<package-name>net.sf.cglib.*</package-name>
			<package-name>javax.persistence.*</package-name>
			<package-name>antlr.*</package-name>
			<package-name>org.apache.commons.lang.*</package-name>
			<package-name>org.apache.commons.lang3.*</package-name>
			<package-name>org.apache.xerces.*</package-name>
		</prefer-application-packages>
		<!-- servlet-reload-check-secs的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译, 很影响性能。这里建议修改为-1,表示永不检查 -->
		<!-- <servlet-reload-check-secs>-1</servlet-reload-check-secs> -->
	</container-descriptor>
</weblogic-web-app>

然后新建一个空白的类导出jar放在项目的lib中即可。

package org.springframework.aop.framework;

public class AbstractAdvisingBeanPostProcessor {

}

个人推测是因为项目中可以在@Test 测试类或者其他孤岛类A中引用了不存在的类(接口)B,引用的方式可以是继承或者实现,而类A又没有在任何地方使用,所以在tomcat上使用正常。在weblogic因为会在项目启动的时候去加载所有的类。所以会找不到B(以上纯属个人猜测,如果有误欢迎指正)。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值