struts.xml文件位置的疑问?项目总是报错

 ____________我在建Stuts2.1工程时,选的是javaEE ,开启<constant name="struts.devMode" value="true" />

随之的问题就是:如果将struts.xml文件放到src的根目录下,会报这样一个错:

严重: 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)但是页面都可以正常发出Action请求.

如果将struts.xml文件放到src目录下的action文件夹下,Tomcat6.0起动后没有报错,但是我请求一个正常的Action时,页面时会报这样一个错:

警告: Could not find action or result
There is no Action mapped for namespace / and action name testLogin. - [unknown location]
 at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
 at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)

这样的问题怎样解决呢?

在正规的Struts2-1-6版。项目中,struts.xml放在根目录下,还是可以放在src其它的文件夹下?


问题补充:
我还发现一个问题,我在不同的计算机上试过了好多遍,都是同一个错误,我怀疑是struts2.1新版的小bug. 无论怎样做,都是一个结果,我很是纳闷。我一但启用<constant name="struts.devMode" value="true" />时,运行Tomcat6.0以后,页面会报404.设为False时,页面可以正常访问。这又是怎么回事呢??
问题补充:
新的2.1.8的版本可以解决上面那个问题,struts2.1.6有小bug,所以要用struts2开发程序,建议用最新版
问题补充:
在2.1.8的版本中,可以配制多个请求后缀名吗?
<constant name="struts.action.extension" value="html,action,jspx,do" /> 我配制多个后缀名,请求时,出现了问题,是不是只能配一个?

如果要判断是不是,很简单,去找个很老的2.1.X的版本,和最新的2.1.8的版本来试试,总有一个版本不会出这个问题!

正常情况,在没有进行其它配置的情况下是放在src文件夹下

我感觉你应该是tomcat的安装目录有空格或者非法字符造成的

struts.xml应该是在项目的WEB-INF\classes 下的,放在src下只是为了在Eclipse下开发之用。

Struts.xml文件最终是放在项目的WEB-INF\classes文件下的如果你要放在其他文件夹下好像也可以,但是需要在web.xml中另外配置!

[code="java"]http://blog.csdn.net/zhangxianwei/archive/2009/07/16/4353902.aspx[/code]

额,我还是觉得用老版本比较好,2.1.6的确有不小的bug!除了你发现的这个外,其他还有好几个,2.1.8现在没用过,我在用2.0.x和2.1.2的版本来做开发!(2.1.2也只是beta版,但是发现的问题比2.1.6少多了!当然有的Struts2的特性我还没用过!)