zoukankan      html  css  js  c++  java
  • Gradle配置IDEA正常识别JPA Metamodel Generator动态生成的代码

    我们在使用JPA动态查询构建查询条件时,为了实现安全的类型检查,常常需要引用Hibernate JPA Metamodel Generator自动为我们生成静态元模型类。

    而这些类由于编译时由Hibernate JPA Metamodel Generator自动生成在其他路径下,IDEA默认无法自动识别这些“特别”的类,所以IDEA中的JPA动态查询相关代码常常会出现编译错误。

    如果你使用的是Gradle构建工具,只需在构建脚本中添加如下内容即可解决此类问题啦。

    build.gradle添加的配置如下:

    // 所有自动生成的代码(比如JPAMetaModelEntityProcessor自动生成的代码等)都统一存放到build/generated目录下
    // 同时将该目录添加到main SourceSets中,以便IDEA可以识别
    compileJava {
        options.compilerArgs << "-s"
        options.compilerArgs << "$projectDir/build/generated"
        doFirst {
            file(new File("$projectDir/build/generated")).mkdirs()
        }
    }
    sourceSets.main.java.srcDirs += "$projectDir/build/generated"

    执行gradle clean build之后,再次用IDEA打开工程,编译问题就都解决啦。

  • 相关阅读:
    github使用
    部署flask
    docker部署路飞学城
    centos7安装dnsmasq局域网dns
    消息队列rabbitmq
    记录腾讯云中矿机病毒处理过程(重装系统了fu*k)
    Golang基础
    git协同开发
    gitlab与pycharm结合
    github与gitlab与git三个基佬的故事
  • 原文地址:https://www.cnblogs.com/itZhy/p/8044953.html
Copyright © 2011-2022 走看看