我有一个我似乎无法解决的问题的Xtext项目。请看下面的代码:NullPointerException与IResourceSetProvider?
@Inject
IResourceSetProvider resourceSetProvider;
private void function(){
IProject project = file.getProject();
URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
ResourceSet resourceSet = resourceSetProvider.get(project);
Resource resource = resourceSet.getResource(uri, true);
}
对象“文件”是一个的IFile作为该函数的参数传递,并且不为空,因为我能够访问其内容,甚至打印出来作为字符串,例如。我也可以访问其IProject字段并对其执行操作。但是,我在ResourceSet行上发现了NullPointerException,即在“.get(project)”函数中。鉴于上述项目肯定不是空的,在此步骤会发生什么样的NullPointerException?
感谢您的帮助!
我认为你需要提供一个减少的封闭类,进口等 – efekctive
道歉......我感谢你试图帮助,但我似乎无法解决这个问题。你是正确的resourceSetProvider为空,所以有什么东西在注入失败... 我没有提到我所展示的代码块是在类内,如果相关。 –
好吧,我设法通过完全删除注入并手动实例化IResourceSetProvider来解决此问题。 'IResourceSetProvider rs1 = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(uri).get(IResourceSetProvider.class);' –