我一直在为我的项目广泛使用Lombok。我喜欢它并希望它得到正式支持,以便维护者不必使用内部API继续开发,但这是另一个时间的主题。
每隔一段时间,我会在使用val
编译时遇到以下问题(我也广泛使用,因为它节省了大量的输入):
Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved
最后一次发生在两个地方:
Map<UUID, List<SomeObject>>
List<UUID>
之前我曾使用val
作为后一种类型,以及比前者更复杂的对象。然而,莫名其妙地val
在这里不起作用。最终的解决方案是在这些位置忽略val
(虽然它在整个课程中被广泛使用而没有任何问题)。
所以,问题是:如何在Lombok 中调试val
(可能还有var
)?我如何调试生成类型的内容,找出这是否是Lombok中的错误(我可能会尝试修复),或者由于某种原因我的代码库是否行为不端?