Java Struts 2.3.16-DefaultActionValidatorManager.loadFile()在加载Object-validation.xml时抛出NullPointerException

Java Struts 2.3.16-DefaultActionValidatorManager.loadFile()在加载Object-validation.xml时抛出NullPointerException,java,configuration,struts2,nullpointerexception,struts-validation,Java,Configuration,Struts2,Nullpointerexception,Struts Validation,我们正在将struts从2.0.11升级到2.3.16 在我们的代码中,当试图获取DefaultActionValidatorManager.getValidators(getClass(),null)时,它从DefaultActionValidatorManager.loadFile()中抛出NullPointerException,同时尝试加载java/lang/Object validation.xml 在互联网上搜索时,我发现了一个类似的问题。它说这个问题在xwork 2.3.7中已经修

我们正在将struts从2.0.11升级到2.3.16

在我们的代码中,当试图获取
DefaultActionValidatorManager.getValidators(getClass()
,null)时,它从
DefaultActionValidatorManager.loadFile()
中抛出
NullPointerException
,同时尝试加载
java/lang/Object validation.xml

在互联网上搜索时,我发现了一个类似的问题。它说这个问题在xwork 2.3.7中已经修复。我查看了xwork 2.3.7源代码,它已经更改了前面提到的内容(额外的null检查
fileUrl!=null
)。该检查在xwork 2.3.14.3之前一直存在,并从2.3.15开始移除


是否知道这是一个回归,需要在2.3.15之后修复?或者有另一种方法可以使用
DefaultActionValidatorManager.getValidators()
启动2.3.15?如何在2.3.16中解决这个问题?

Struts 2.3.16中仍然存在修复,但已转移到
DefaultFileManager::FileNeedsLoading(URL fileUrl)

关于
ClassLoader::getResource(字符串名称)
可以返回
null
值。请参见javadoc的描述

用于读取资源的URL对象,如果为空,则为空 找不到资源或调用程序没有足够的资源 获取资源的权限


2.3.4报告了类似问题。这是无效问题,请参阅此处的详细信息。谢谢。这就解释了。然而,在我的例子中,我仍然得到了java/lang/Object-validation.xml的NullPointerException,因为fileUrl对于它来说是空的。知道我遗漏了什么吗?似乎我缺少一些配置。应该有action类的简单名称或与action名称组合。我想我无法复制它,因为这是一个明显的错误,例外是一个合法的方式来通知你们。