当前位置: 首页 > 知识库问答 >
问题:

带IntelliJ和Gradle的Mapstruct AnnotationProcessor

东门秦迟
2023-03-14

我试图让Mapstruct注释处理器在Gradle项目中的IntelliJ中工作。

我所做的:

>

  • 在我的build.gradle配置了Mapstruct注释处理器:

    compile "org.mapstruct:mapstruct-jdk8:${mapstruct_version}"
    annotationProcessor "org.mapstruct:mapstruct-processor:${mapstruct_version}"
    

    在“构建、执行、部署->构建工具->gradle->runner”下的首选项中选择了“委托IDE构建/运行操作来分级”

  • 共有1个答案

    应嘉容
    2023-03-14

    使用这个,我的团队也在使用mapstruct,我们在我们的构建中使用它。gradle,您还需要为gradle带来idea插件

    def generatedSources = "$buildDir/generated"
    def generatedOutputDir = file("$generatedSources")
    
    /*
     create generated .java files in different folder than classes
     In IntelliJ 2016.3.x: Enable Annotation Processing, then set generated sources,
     relative to module output dir, at path '../../generated'
     */
    compileJava {
        doFirst {
            generatedOutputDir.exists() || generatedOutputDir.mkdirs()
            options.compilerArgs = [
                    '-s', "${generatedSources}"
            ]
        }
    }
    
    
    idea {
        module {
            downloadSources = true
            // tell intellij where to find generated sources
            sourceDirs += generatedOutputDir
        }
    }
    

    使用此解决方案,即使没有gradle runner也可以运行代码

     类似资料:
    • 我已经添加了版本 注意:我还没有迁移任何测试,所有测试都是JUnit4语法。

    • 我有一个带有Spring 2.1.7的gradle 6.0项目。 我有一个错误: 无法加载类“org.gradle.api.internal.plugins.DefaultConvention”。此意外错误的可能原因包括: Gradle的依赖项缓存可能已损坏(有时会在网络连接超时后发生)。请重新下载依赖项并同步项目(需要网络) Gradle构建进程(守护进程)的状态可能已损坏。停止所有Gradle

    • 我的项目是使用Gradle与Kotlin DSL进行构建。我现在要添加一个用于测试的自定义源集。有关守则如下: 有没有使用Kotlin DSL声明自定义源集并将其标记为测试模块的经验? 编辑:我现在使用Groovy创建了一个示例Gradle项目,使用下面的代码(我猜这只是我上面语句的Groovy版本),它工作起来没有问题: 因此,要么是我对Kotlin DSL的转换错误,要么是Intellij端的

    • 我有一个使用gradle的项目,我想使用slf4j提供的记录器。 在Android Studio中运行会产生以下错误: 我对这个项目的build.gradle: 如果我用gradle构建这个项目,shadow插件会生成一个胖jar,它可以很好地从控制台运行,它包括记录器,但是从IDE中我很难找到LoggerFactory。我在这里读到,我应该将记录器添加到类路径中,但由于我没有显式地包含jar,而

    • 至少,这是我目前关于构建失败原因的理论。有人使用了最新的spring、gradle和querydsl吗? 更新:我删除了ewerk插件并简化了我的build.gradle文件,所以现在一切都可以正常构建了。我正在更新以帮助其他可能需要此功能的人:

    • 如果这很重要,我将使用Gradle4.4和JDK7。