A small struts2 program debugging fails after devmodel is changed to true,
<constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="hell"> <result> /Hello.jsp </result> </action> </package>
Severe: exception starting filter struts2
Java. Lang. nullpointerexception
At com. opensymphony. xwork2.util. filemanager $ filerevision. needsreloading (filemanager. Java: 209)
At com. opensymphony. xwork2.util. filemanager. fileneedsreloading (filemanager. Java: 60)
At com. opensymphony. xwork2.config. providers. xmlconfigurationprovider. needsreload (xmlconfigurationprovider. Java: 325)
At org. Apache. struts2.config. strutsxmlconfigurationprovider. needsreload (strutsxmlconfigurationprovider. Java: 168)
At com. opensymphony. xwork2.config. configurationmanager. conditionalreload (configurationmanager. Java: 220)
At com. opensymphony. xwork2.config. configurationmanager. getconfiguration (configurationmanager. Java: 61)
At org. Apache. struts2.dispatcher. Dispatcher. getcontainer (dispatcher. Java: 774)
At org. Apache. struts2.dispatcher. Ng. initoperations. initstaticcontentloader (initoperations. Java: 77)
At org. Apache. struts2.dispatcher. Ng. Filter. strutsprepareandexecutefilter. INIT (strutsprepareandexecutefilter. Java: 49)
At org. Apache. Catalina. Core. applicationfilterconfig. getfilter (applicationfilterconfig. Java: 295)
At org. Apache. Catalina. Core. applicationfilterconfig. setfilterdef (applicationfilterconfig. Java: 422)
At org. Apache. Catalina. Core. applicationfilterconfig. <init> (applicationfilterconfig. Java: 115)
At org. Apache. Catalina. Core. standardcontext. filterstart (standardcontext. Java: 3838)
At org. Apache. Catalina. Core. standardcontext. Start (standardcontext. Java: 4488)
At org. Apache. Catalina. Core. containerbase. addchildinternal (containerbase. Java: 791)
At org. Apache. Catalina. Core. containerbase. addchild (containerbase. Java: 771)
At org. Apache. Catalina. Core. standardhost. addchild (standardhost. Java: 546)
At org. Apache. Catalina. startup. hostconfig. deploydirectory (hostconfig. Java: 1041)
At org. Apache. Catalina. startup. hostconfig. deploydirectories (hostconfig. Java: 964)
At org. Apache. Catalina. startup. hostconfig. deployapps (hostconfig. Java: 502)
At org. Apache. Catalina. startup. hostconfig. Start (hostconfig. Java: 1277)
At org. Apache. Catalina. startup. hostconfig. lifecycleevent (hostconfig. Java: 321)
At org. Apache. Catalina. util. lifecyclesupport. firelifecycleevent (lifecyclesupport. Java: 119)
At org. Apache. Catalina. Core. containerbase. Start (containerbase. Java: 1053)
At org. Apache. Catalina. Core. standardhost. Start (standardhost. Java: 785)
At org. Apache. Catalina. Core. containerbase. Start (containerbase. Java: 1045)
At org. Apache. Catalina. Core. standardengine. Start (standardengine. Java: 443)
At org. Apache. Catalina. Core. standardservice. Start (standardservice. Java: 519)
At org. Apache. Catalina. Core. standardserver. Start (standardserver. Java: 710)
At org. Apache. Catalina. startup. Catalina. Start (Catalina. Java: 581)
At sun. Reflect. nativemethodaccessorimpl. invoke0 (native method)
At sun. Reflect. nativemethodaccessorimpl. Invoke (nativemethodaccessorimpl. Java: 39)
At sun. Reflect. delegatingmethodaccessorimpl. Invoke (delegatingmethodaccessorimpl. Java: 25)
At java. Lang. Reflect. method. Invoke (method. Java: 597)
At org. Apache. Catalina. startup. Bootstrap. Start (Bootstrap. Java: 289)
At org. Apache. Catalina. startup. Bootstrap. Main (Bootstrap. Java: 414)
21:40:14 org. Apache. Catalina. Core. standardcontext start
When devmodel is set to false, the program is normal. This change may be difficult for future program development .. I checked it online. It is a bug in struts2. The simple method is to avoid spaces in the tomcat installation directory. After testing, the method is correct and the problem is solved. (My own use: struts-2.3.8-alland tomcat-6.0.26.exe)