jOOQ生成的代码无法编译?

问题描述 投票:0回答:2

我用过这个工具:https://github.com/etiennestuder/gradle-jooq-plugin 从jOOQ的官网从我的数据库生成代码。

但是如果我设置

directory = 'src/main/java'

当我运行“gradle build”时,我收到所有这些编译错误,例如:

database/information_schema/InformationSchema.java:218: error: no suitable constructor found for SchemaImpl(String,<null>)
        super("INFORMATION_SCHEMA", null);
        ^
    constructor SchemaImpl.SchemaImpl(Name) is not applicable
      (actual and formal argument lists differ in length)
    constructor SchemaImpl.SchemaImpl(String) is not applicable
      (actual and formal argument lists differ in length)

有什么解决办法吗?

请注意,我想将生成的代码放入 src 文件夹中,因为我想在我的代码中使用它们。我听说将它们放在目标或构建文件夹中,但我不确定如何从目标或构建文件夹访问这些类?

谢谢!

jooq
2个回答
0
投票

我当时用的是3.7。现在我切换到3.9,一切都很好......


0
投票

我写了一篇关于此的简短博客文章。从 jOOQ 3.16 和 #12601 开始,如果用户使用,则会出现额外的编译错误:

  • 旧版本的
    org.jooq:jooq
    (运行时库)
  • 较新版本的
    org.jooq:jooq-codegen
    (代码生成库)

一般来说,运行时库版本>=codegen库版本。新的编译错误可能如下所示:

[错误] …/DefaultCatalog.java:[53,73] 找不到符号
[错误]符号:变量VERSION_3_17
[错误]位置:类org.jooq.Constants

请注意,虽然与您的问题无关,但现在有一个官方的

jooq-codegen-gradle
插件

© www.soinside.com 2019 - 2024. All rights reserved.