Micronaut 是否应该为依赖注入错误生成编译器警告/错误?

Should Micronaut Produce Compiler Warnings / Errors for Dependency Injection Errors?

我刚刚开始使用 Micronaut,我惊讶地发现,尽管有注释处理器,但似乎没有任何警告来指示何时存在依赖项注入问题。例如,当我有一个 @Inject 用于具有 2 个具体实现的接口时。我期待我的 IDE 在注入注释上提供编译器警告,告诉我有 2 种可能的绑定,我需要提供 @Named 注释来消除歧义。

是我的预期不正确,绑定问题仍然只在运行时显示,还是我没有正确配置我的 IDE 以使用 Micronaut 正确地通知我这些 DI 错误?

Java version: 8
IDE: IntelliJ IDEA Ultimate
Micronaut Version: 1.1.1
Build Tool: maven

因为在编译时有 2 个可用并不意味着在运行时会有 2 个可用。

人们反过来问了同样的问题,想知道为什么我们不能在编译时报告一个 bean 不存在,答案是仅仅因为它在编译时不存在并不意味着它不会在运行时存在。你在编译时不知道运行时类路径上会有什么,bean 可以配置为根据运行时条件有条件地加载等

编辑

我发现我没有明确回答你的问题...

Is my expectation incorrect and binding problems are still only revealed at runtime, or have I not configured my IDE correctly to properly inform me of these DI errors using Micronaut?

第一部分的答案是肯定的,你的期望是错误的。第二部分的答案是您的 IDE 配置与相关行为无关。

希望对您有所帮助。