今天在功能测试环境中weblogic上部署应用时,启动后报错,说是spring找不到对应的action,所以怀疑是类加载的问题,找度娘一搜,果然是猜的没错,找到解决方法:
1. 将struts.xml加入:
<constant name="struts.convention.action.includeJars" value=".*你的jar包名.*" />
然后启动正常,但登陆后找不到struts的action.在开发环境中明显是可以的,而且在tomcat中打包war也是可以用的,但部署到weblogic中就不可以了,所以认为还是类加载的问题,再问了一下度娘,答案如下:
1. 将struts.xml加入
<constant name="struts.convention.action.fileProtocols" value="jar,zip" />
修改为:
<constant name="struts.convention.action.includeJars" value=".*你的jar包名.*,.*?/_wl_cls_gen.*?jar(!/)?"/>
许多解决此问题的文章并没有提到多个jar的问题,如果有多个jar要加载,需要用逗号分开
2. Ant打包时,war任务的属性manifest一定要写上
然后打包,部署,启动正常,打开页面登陆后,操作,一切ok,看来weblogic真是有点不太好搞啊,坑挺多。
解决weblogic下通过war加载jar包中的struts的action找不到的问题
原文地址:http://blog.csdn.net/aolaog/article/details/41317099