gpt4 book ai didi

java - Intellij 没有选择 mapstruct 生成的类

转载 作者:行者123 更新时间:2023-12-01 18:34:08 26 4
gpt4 key购买 nike

我正在尝试解决 Intellij 和 Mapstruct 的问题。

之前我使用过 Java 8 和 Gradle 4.6,Mapstruct 工作正常。现在我已经将Java升级到11,Gradle升级到4.10.3。现在的问题是,构建后,当我运行应用程序时,我最终遇到了 UnSatisfiedDependencyException,因为某些 Mapper 类不可用。我在 SO 中遇到了很多问题,其中大多数建议将 Intellij 构建/运行操作委托(delegate)给 Gradle。但我希望 Intellij 运行应用程序并进行测试。 This帖子建议了我想要的解决方案,但应用此解决方案后,我遇到了一些不同的编译错误。

这是我的 build.gradle 的一部分:

//mapstruct lib to generate mappings between Java bean types
compileOnly("org.mapstruct:mapstruct-processor:${mapStructVersion}")
annotationProcessor("org.mapstruct:mapstruct-processor:${mapStructVersion}")

//lib to support lombok
compileOnly 'org.projectlombok:lombok:1.18.6'
annotationProcessor 'org.projectlombok:lombok:1.18.6'

以前,映射器类是在 src-->generate 中生成的。现在升级后,映射器类不会在 src->generate 中生成。 Gradle 生成的类存在于 root-->build 中,我可以在其中看到映射器类。 Intellij 没有正确选择生成的类或者我缺少一些配置。

请帮助我正确修复路径。

PS:我正在使用 Intellij 2019.1.2 , Mapstruct 1.2.0.Final 和 Spring Boot 2.2.2.RELEASE。

最佳答案

尝试使用 implementation 而不是官方 MapStruct 示例中的 compileOnly : https://github.com/mapstruct/mapstruct-examples/blob/master/mapstruct-on-gradle/build.gradle

关于java - Intellij 没有选择 mapstruct 生成的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60096793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com