当我在IntelliJ中从spring-data-mongo@2.1.3打开并反编译一个类时,我看到了import lombok.NonNull
,但是在我的项目中没有看到任何lombok瞬态依赖项。现在,这很有意义,因为在spring-data-parent
中将lombok设置为可选依赖项。据我了解,lombok不是运行时依赖项,但是为什么我在那里看到它呢?是IntelliJ magic支持Lombok的反编译类吗?
答案 0 :(得分:0)
Java中的导入语句只是语法糖。它们有助于编写代码,因为您不必始终编写完全合格的类名。但是他们没有将其放入字节码中。您可以将它们视为一种编译器指令。
因此,如果在反编译的代码中看到import语句,但是在代码中没有实际使用该导入,则很可能是由反编译器引起的。
答案 1 :(得分:0)
这是因为spring-data-mongo使用了lombok,但他们没有上传delombok源zip。