微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – jOOQ Gradle插件不会更新生成的文件

出于某种原因,我必须手动删除生成文件夹并运行gradle任务以获取更新的POJO.这是我的设置,预期行为还是错误?我的设置如下:

jooq {
  library(sourceSets.main) {
    jdbc {
      driver = 'com.MysqL.jdbc.Driver'
      url = 'jdbc:MysqL://localhost:3306/library'
      user = 'library'
      password = '123'
      schema = 'library'
    }
    generator {
      name = 'org.jooq.util.DefaultGenerator'
      strategy {
        name = 'org.jooq.util.DefaultGeneratorStrategy'
      }
      database {
        name = 'org.jooq.util.MysqL.MysqLDatabase'
        inputSchema = 'library'
      }
      generate {
        daos = true
      }
      target {
        packageName = 'com.example.library.db'
        directory = 'src/main/java'
      }
    }
  }
}

解决方法:

目前,当您生成文件时,它们将添加到src / main / java文件夹下.这不是一个好主意,因为您有混合的源文件生成文件.最好添加一个单独的文件夹src / main / generated并以下列方式修改build.gradle:

def generatedDir = 'src/main/generated'
sourceSets {
    main {
        java {
            srcDirs += [generatedDir]
        }
    }
}

clean.doLast {
   project.file(generatedDir).deleteDir()
}

并改变:

target {
   packageName = 'com.example.library.db'
   directory = generatedDir
}

这样您就可以轻松管理生成的类.运行clean任务时,将自动删除所有类.

您还需要在compileJava和生成器任务之间定义依赖关系.它可以通过以下方式完成:

compileJava.dependsOn YOUR_GENERATOR_TASK_NAME

jOOQ不会自动删除文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐