(转载)WebLogic10部署STRUTS2使用convention插件的问题
以前遇到过类似问题,后来通过其它方式解决了,解压jar包到classes目录下,后来发现如下文章后,发现原来有更好的方案可以解决,特记录:
这两天部署了一个使用了convention约定插件的SSH项目到WebLogic10,打开后第一个登陆页面,控制台报错
NullPointerException at org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownActionMethod
问题的原因:weblogic10以后在加载项目时会把WEB-INF下的classes目录打成jar包。并删除classes目录下的内容。
struts2.18的Action注解要找jar包,需要jar包内有META-INF/Manifest文件,内容无所谓但要有,因此会造成一般的 struts项目放到Webligic上后注解不生效,报错提示There is no Action mapped for namespace / and action name XXX。
解决办法:
改动在src目录下添加META-INF/Manifest文件,我是直接用解压软件打开项目的WAR包,拖入目录META-INF,然后保存
在struts.xml添加如下设置:
<constant name="struts.convention.action.includeJars" value=".*_wl_cls_gen.*"/>
<constant name="struts.convention.action.fileProtocols" value="jar,zip" />
转载地址:http://blog.csdn.net/gl74gs48/article/details/7955533