首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jOOQ和Gradle生成代码时出现“不明确的类型名”错误

使用jOOQ和Gradle生成代码时出现“不明确的类型名”错误
EN

Stack Overflow用户
提问于 2020-07-24 18:48:10
回答 1查看 134关注 0票数 0

当我尝试用jOOQ生成代码时,我得到了很多错误,比如:

代码语言:javascript
复制
     Ambiguous type name      :
The object pg_catalog.unnest generates a type org.jooq.example.gradle.db.pg_catalog.tables.Unnest
    which conflicts with the existing type
    org.jooq.example.gradle.db.pg_catalog.tables.Unnest on some operating systems.
    Use a custom generator strategy to disambiguate the types.

不确定操作系统应该如何处理它。以前从未使用过jOOQ。据我所知,它应该连接到Postgres db并生成一些java代码,这些代码稍后可以用来对该数据库运行查询。

我在build.gradle中有以下配置(取自https://www.jooq.org/doc/latest/manual/code-generation/codegen-gradle/)

代码语言:javascript
复制
// Use your favourite XML builder to construct the code generation configuration file
// ----------------------------------------------------------------------------------
def writer = new StringWriter()
def xml = new groovy.xml.MarkupBuilder(writer)
        .configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.13.0.xsd') {
            jdbc() {
                driver('org.postgresql.Driver')
                url('jdbc:postgresql://localhost:5432/metrics')
                user('postgres')
                password('pwd')
            }
            generator() {
                database() {
                }

                // Watch out for this caveat when using MarkupBuilder with "reserved names"
                // - https://github.com/jOOQ/jOOQ/issues/4797
                // - http://stackoverflow.com/a/11389034/521799
                // - https://groups.google.com/forum/#!topic/jooq-user/wi4S9rRxk4A
                generate() {
                }
                target() {
                    packageName('org.jooq.example.gradle.db')
                    directory('src/main/java')
                }
            }
        }

// Run the code generator
// ----------------------
org.jooq.codegen.GenerationTool.generate(writer.toString())

作为一个初学者,我对这个错误感到不知所措。

EN

回答 1

Stack Overflow用户

发布于 2020-07-24 20:48:27

我必须设置模式

代码语言:javascript
复制
database() {
inputSchema('public')
}

这就解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63072042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档