首页 > 解决方案 > 无法让 jOOQ CodeGen 工具工作

问题描述

我尝试了多种配置,但无法让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)

标签: javapostgresqljooq

解决方案


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

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

视窗

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

相关问题


推荐阅读