nutz
nutz copied to clipboard
org.nutz.mvc.impl.Loadings中调用ioc.get(ModuleScanner.class, nm)可能会导致NPE错误
Hello,
我发现在org.nutz.mvc.impl.Loadings
的第121行处对ioc的直接解析可能会导致NPE错误,如下:
public static Set<Class<?>> scanModules(Ioc ioc, Class<?> mainModule, EntryDeterminer determiner) {
Modules ann = mainModule.getAnnotation(Modules.class);
for (String str : ann.by()) {
if (str.startsWith("ioc:")) {
ms = ioc.get(ModuleScanner.class, nm);// 可能发生NPE错误。
}
}
传递的null值在NutLoading
的第87行,返回值可能为空。
ioc = createIoc(config, mainModule);
希望这个建议对你们有帮助!!
但总得抛出异常吧
方案一:检查ioc为null时,输出warning信息,并退出。 方案二:检查ioc为null时,输出warning信息,不进行解引用,继续跑程序。 方案三:检查ioc为null时,不输出warning信息,不进行解引用,继续跑程序。