最近web項目的weblogic要從12.1.2升級到12.2.1.3,需要重新建域和服務,按照步驟一步一步操作,結果在啟動項目的時候報錯:
<2019-9-18 下午02時06分52秒 CST> <Error> <Deployer> <BEA-149231> Unable to set the activation state to true for the application "*XXX". weblogic.application.ModuleException: java.lang.RuntimeException: java.lang.ClassNotFoundExceptions: org.springframework.aop.framework.AopConfigException at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:233) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:228) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45) Truncated. see log file for complete stacktrace Caused By: java.lang.RuntimeException: java.lang.ClassNotFoundExceptions: org.springframework.aop.framework.AopConfigException at net.sf.cglib.asm.$ClassWriter.getCommonSuperClass(Unknown Source) at net.sf.cglib.asm.$ClassWriter.a<init>(Unknown Source) at net.sf.cglib.asm.$Frame.a<init>(Unknown Source) at net.sf.cglib.asm.$Frame.a<init>(Unknown Source) at net.sf.cglib.asm.$MethodWriter.visitMaxs<init>(Unknown Source) Truncated. see log file for complete stacktrace
可是項目之前在12.1.2運行得好好的,一頓查詢后,找到了解決方法:
在項目的weblogic.xml里增加如下配置:
<wls:container-descriptor> <prefer-web-inf-classes>false</prefer-web-inf-classes> <prefer-application-packages> <package-name>net.sf.cglib.*</package-name> </prefer-application-packages> </wls:container-descriptor>
上面的配置表示對net.sf.cglig.*包優先加載項目中的包。
有類似的沖突可以參考修改配置。
最近科學地上網受限,具體更詳細的解釋待我能夠科學地上網之后再補充。