Java 无法使jOOQ CodeGen工具正常工作

Java 无法使jOOQ CodeGen工具正常工作,java,postgresql,jooq,Java,Postgresql,Jooq,我尝试了多种配置,但无法使jOOQ codegen工具正常工作。我的类路径中有3个必需的JAR、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

我尝试了多种配置,但无法使jOOQ codegen工具正常工作。我的类路径中有3个必需的JAR、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)
我的类路径中有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+

在Java9中,您可能需要将JAXB依赖项手动添加到Java命令中

--添加模块java.xml.bind

如手册所述:

相关问题


@dotnettech:您使用的是Windows还是Linux风格的shell?我已经用Linux版本更新了我的答案。它肯定会这样工作…找到一个更好的ORM-Sql2o@dotnettech:对…;-)祝你好运
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)