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

你可能感兴趣的:(struts2,weblogic,ssh,constant)