【问题标题】:Cannot get jOOQ CodeGen tool to work无法让 jOOQ CodeGen 工具工作
【发布时间】:2018-06-15 20:52:29
【问题描述】:

我尝试了多种配置,但无法让 jOOQ 代码生成 工具工作。我的类路径中有 3 个必需的 jar、postgres 驱动程序和配置 xml:

命令:

java -cp jooq-codegen-3.11.0.jar org.jooq.codegen.GenerationTool /postgres.xml

错误:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/jooq/meta/SchemaVersionProvider
        at java.lang.Class.getDeclaredMethods0(Native Method)

【问题讨论】:

    标签: java postgresql jooq


    【解决方案1】:

    我的类路径中有 3 个必需的 jar、postgres 驱动程序和配置 xml:

    不,你没有 :-) 你只将 codegen 库放在类路径上,而不是它的依赖项,也不是本地路径(XML 文件所在的位置)。改为这样做:

    Windows

    java -cp jooq-3.11.0.jar;jooq-meta-3.11-0.jar;jooq-codegen-3.11.0.jar;. org.jooq.codegen.GenerationTool /postgres.xml

    Linux

    java -cp jooq-3.11.0.jar:jooq-meta-3.11-0.jar:jooq-codegen-3.11.0.jar:. org.jooq.codegen.GenerationTool /postgres.xml

    Java 9+

    在 Java 9 中,您可能需要手动添加 JAXB 依赖项,方法是将其添加到您的 java 命令中

    --add-modules java.xml.bind

    如手册中所述: https://www.jooq.org/doc/latest/manual/code-generation/codegen-configuration

    相关问题:

    【讨论】:

    • @dotnettech:您使用的是 Windows 还是 Linux 风格的 shell?我已经用 Linux 版本更新了我的答案。它绝对应该以这种方式工作......
    • 找到了更好的ORM——Sql2o
    • @dotnettech: 对... ;-) 祝你好运!
    猜你喜欢
    • 2023-03-24
    • 2020-01-04
    • 2017-01-07
    • 1970-01-01
    • 2018-10-02
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    相关资源
    最近更新 更多