(1)kotlin an annotation argument must be a compile-time constant。这个问题很常见,出现这种情况的原因大多是kotlin语法和原来Java用法有冲突导致的。
比如要注入一些属性的时候:
这个问题是"$“符号的问题,会被识别为字符串的一部分,所以要给”$“转义,变成”\$project"就好了;
(2)还遇到过这种,在Java注解里面用{}代表数组,但在kotlin 里面 {} 其实是闭包,这个时候就得换个写法:
用arrayOf或者[]都是可以的: