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

时间:2014-01-18 08:02:00

标签: java configuration struts2 nullpointerexception struts-validation

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

在尝试获取DefaultActionValidatorManager.getValidators(getClass()时,我们的代码中为null),它会在尝试加载NullPointerException时从DefaultActionValidatorManager.loadFile()引发java/lang/Object-validation.xml

在互联网上搜索我发现类似的问题被报告为WW-3850。它说问题已在xwork 2.3.7中修复。我看了一下xwork 2.3.7源码并且它已经改变了(附加的空检查fileUrl != null)。此检查一直存在到xwork 2.3.14.3,并从2.3.15开始删除。

知道这是否是回归并且需要在2.3.15之后修复?或者还有另一种使用DefaultActionValidatorManager.getValidators()从2.3.15开始的方式?如何在2.3.16中解决这个问题?

1 个答案:

答案 0 :(得分:1)

修补程序仍存在于Struts 2.3.16中,但已移至DefaultFileManager::fileNeedsReloading(URL fileUrl)

关于ClassLoader::getResource(String name)可以返回null值。请参阅javadoc的说明

  

用于读取资源的URL对象,如果是,则为null   无法找到资源或调用者没有足够的资源   获得资源的特权。

相关问题