1、问题
使用Idea启动struts2框架,无法找到Action
注:使用eclipse起动正常,idea就不行
2、原因
struts2的Convention插件在扫描Jar包时需要Jar包中带有/META-INF/MANIFEST.MF文件
3、解决思路
(1) 查看编译后的target/classes目录下是否有META-INF/MANIFEST.MF文件
(2)使用struts2-config-browser-plugin插件
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>2.3.28</version>
</dependency>
启动项目,访问:http://{ip}:{port}/{context_path}/config-browser/actionNames.action,查看需要的action路径是否被struts扫描到。
(3)在src/main/resources目录下创建META-INF目录,然后再META-INF目录下创建一个空白的MANIFEST.MF文件即可,重新编译、打包、运行。
参考资料
[1] 风火一回,查看Struts2配置信息 struts2-config-browser-plugin插件,2016-07-11,https://blog.youkuaiyun.com/mafan121/article/details/51882255
[2] 酷鱼影子, Struts2注解Convention扫描jar中的Action的设置,2016-05-05,https://blog.youkuaiyun.com/kuyuyingzi/article/details/25381241
[3]快乐小左,Struts2不扫描jar包中的action, 2015-03-25,https://blog.youkuaiyun.com/fireofjava/article/details/44624735
[4]Struts2 零配置 详解(struts-Convention-plugin),2015-10-25,https://www.cnblogs.com/sohojoyce/articles/4909835.html