Intellij IDEA 中的 mapstruct 和 gradle 配置问题

mapstruct and gradle configuratoin issue in Intellij IDEA

我有一个使用 gradle 的项目,并且将 mapstruct 作为依赖项之一。每次我尝试构建项目时,它都失败了。我想这是因为 Mapstruct 将生成 gradle 无法找到的 impl class。任何人都可以帮助我如何在 intellij IDEA 中配置它吗?

谢谢

这对我有用

在intellij中IDE去

文件 |设置 |构建、执行、部署 |构建工具 | Gradle | 运行纳尔

启用委派 IDE build/run 操作。 参考:- https://www.jetbrains.com/idea/whatsnew/#v2016-3-gradle

在build.gradle

buildscript {
    ...    
}
plugins {
    id 'net.ltgt.apt' version '0.9'
}

apply plugin: 'idea'
apply plugin: "net.ltgt.apt"

dependencies {
    ...
    compile 'org.mapstruct:mapstruct-jdk8:1.1.0.Final'
    apt 'org.mapstruct:mapstruct-processor:1.1.0.Final'
}

添加此配置后 运行 您的项目,您可以在 build/generated 文件夹中看到生成的文件

我发现另一个有用的设置是取消选中 "Create separate module per source set" 文件 |设置 |构建、执行、部署 |构建工具 | Gradle

取消选中 "Create separate module per source set"

来自 Mac OS

  1. 请删除 build 个生成的文件夹。
  2. 单击 Intellij IDEA => 从菜单中单击 Preferences... => Select Build, Execution, Deployment => Select Gradle => Select Runner
  3. 勾选 Deledate IDE build/run actions to gradle 复选框
  4. 来自 运行 测试使用:select Gradle Test Runner 来自下拉列表。

大家好,我遇到了同样的问题,并找到了解决此问题的简洁方法。 我正在使用两个需要注释处理的库(Lombok 和 MapStruct)。

另外我的 IntelliJ 是 2019.1(更新你的以防它更旧)和 Gradle 5.2.1.

首先让我们配置 IntelliJ:

  1. 在设置中禁用注释处理,因为我们要将所有事情委托给 Gradle:

  1. 将 IDE 操作委托给 Gradle:

最后一步是在 Gradle 中正确配置依赖项。

  1. Gradle 中的依赖项部分:

现在您可以从命令行和 IDE 执行构建和 运行。

干杯!