我正在创建一个包含多种服务的NetBeans模块(代码辅助,项目,调试器等)
我注意到在通过@ServiceProvider
注释注册了ProjectFactory之后,由@MimeRegistration
注释注册的TaskFactory停止工作。即用于创建解析任务的唯一方法create(Snapshot snapshot)
,如用于错误注释的ParserResultTasks,不再被调用,因此无法解析。
然而,一旦我明确地调用解析器,例如通过CompletionProvider中的ParserManager.parse
,一切都可以正常工作。另外,我应该注意到项目,编辑器和解析器实现都在不同的模块中。
如果ProjectFactory和TaskFactory一起使用,还有什么我必须注意的吗?也许将TaskFactory添加到项目的查找中?
更新
突然间一切正常。我不知道问题是什么,也许META注册在更改后没有正确加载?我不知道。但现在一切似乎都做了它应该做的事情。
我仍然愿意接受可能的建议,即在将API,项目和解析API一起使用时会出现问题(如果这完全是问题)。
UPDATE2
不,它不起作用。 提交错误报告,请参阅https://netbeans.org/bugzilla/show_bug.cgi?id=230558