中声明了一个可重复的注释@Parameter。

kotlin如下:
@Repeatable
annotation class Parameter(val name: String);但是,当我在下面使用它时,编译器会报告一个错误:
只有具有源保留功能的注释才能在1.8JVM版本之前重复使用。
@Parameter("foo")
@Parameter("bar")
fun repeat() = 1;我肯定我在和jdk-8一起工作

kotlin。jvmTarget选项也被设置为用于kotlin-1.1.2 gradle插件的1.8。
Q:,为什么它不能正常工作?
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileKotlin {
kotlinOptions{
jvmTarget = "1.8"
}
}发布于 2017-06-14 11:58:53
如果我没有弄错的话,Kotlin编译器目前的目标是JDK 1.6类文件格式。这意味着,在上,它不能为类文件编写多个注释。
虽然从概念上说,Kotlin支持多个注释,但由于输出限制,在实现正确的1.8目标之前,它不能这样做。
发布于 2017-10-05 09:37:59
目前Kotlin不可能做到这一点。有一个bug被打开了,请随意投票:https://youtrack.jetbrains.com/issue/KT-12794
发布于 2021-02-03 16:18:06
可以,停那儿吧。只需使用注释的“长形式”即可。
按照这个线程的结尾:https://discuss.kotlinlang.org/t/issue-with-repeated-java-8-annotations/1667/11
https://stackoverflow.com/questions/44543978
复制相似问题