IntelliJ Idea:关于 Java 11 上支持的注释处理器源版本“RELEASE_6”的 Maven 编译警告

Nik*_*las 6 java intellij-idea maven mapstruct java-11

mvn clean install使用 Java 11 在 IntelliJ Idea 中智能执行时,我收到以下警告:

警告:java:来自注释处理器 'net.java.dev.hickory.prism.internal.PrismGenerator' 的支持的源版本 'RELEASE_6' 小于 -source '11'

如何修复它以及它来自哪里?注意我使用:

  • 龙目岛版 1.18.12
  • 地图结构版本 1.3.1.Final

我还使用默认设置在 IDE 中启用了注释处理:

  • Build, Execution, Deployment-> Compiler-> Annotation processors-> 检查Enable annotation processing

Enr*_*rin 9

阅读答案后,我通过在 intellij 设置中启用将IDE 构建/运行操作委托给 Maven解决了该问题。

检查IDEA-200481了解更多详细信息。

英特尔设置


Nik*_*las 4

原因可以在评论部分找到,这是一个 IntelliJ Idea bug IDEA-200481

GitHub 上的MapStruct 问题 ( 1644 ) 包含全面的解释1644#437463737

请参阅IDEA-200481。IntelliJ 在进行编译时会获取提供的依赖项。

...跳过...我们无法将hickory依赖项移至annotationProcessorPathsMaven 编译器的部分,因为@GeneratePrisms注释是依赖项的一部分,因此我们将无法使用它们。如果您认为我们可以做点什么,请重新打开此问题。

  • 添加更多信息。我们在 1.4 中修复了这个问题(仍处于 Beta 版本)。我们不再使用Hickory,我们使用我们自己对它的适配(mapstruct gem工具) (2认同)