Java注释在Kotlin项目jar中不可用

我正在研究从Java转移到Kotlin的库。 由于这两个项目仍然与两种语言混合使用,所以我使用了https://kotlinlang.org/docs/reference/using-maven.html中描述的kotlin-maven-plugin和maven-compiler-plugin。 Kotlin版本是1.2.10。

我需要在库中创建一个注释,这个注释将被用在其他项目中。 注释是一个标准的Java,我可以建立我的图书馆。

@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface EnableSomeBehavior { } 

当我在另一个项目(一个Java项目)中导入库时,我可以看到注释。 在我的IDE(IntelliJ)自动完成实际上提出我注释..但由于某种原因,无法导入它:当我validation自动完成的选择,然后我得到一个编译错误“无法解析符号”EnableSomeBehavior ‘“。

这是相当令人费解的..我已经重建了几次(万一瓶子被损坏),但是没有任何改变。

我怀疑这是与Kotlin / Java库编译和/或打包的方式有关.Java标注在jar中,我可以看到它,在某种程度上,IDE也可以看到它,因为它提出了它。 但不知何故,它无法使用它。 这不是一个IDE问题,因为即使使用Maven从命令行进行编译失败也会出现相同的错误。

任何想法可能是什么问题?

谢谢

最初,我发现如果注释是一个Kotlin而不是Java,注释会更好:

 @Target(AnnotationTarget.CLASS, AnnotationTarget.FILE) @Retention(RetentionPolicy.RUNTIME) @Documented annotation class EnableSomeBehavior 

重建我的库之后,IntelliJ不会在使用注释的项目中显示任何错误。 但编译仍然失败!

我最终发现,这不是一个Kotlin问题,而是一个Spring Boot包装问题: 使用kotlin-maven-plugin构建的jar中的Kotlin类