首页 > 解决方案 > java.lang.ClassNotFoundException:org.jooq.codegen.JavaGenerator JOOQ 3.8

问题描述

我收到此错误

java.lang.ClassNotFoundException: org.jooq.codegen.JavaGenerator

在这个命令上

java -cp "jooq-3.8.5.jar;jooq-meta-3.8.5.jar;jooq-codegen-3.8.5.jar;ojdbc7-12.1.0.2.0.jar" org.jooq.util.GenerationTool library.xml

除了这些罐子,我还需要什么吗?我正在查看 jooq 3.8 文档,它似乎没有列出任何其他内容。

我使用的是 jooq 3.8,因为在更高版本中您需要购买 Oracle 许可证。

标签: jooq

解决方案


jOOQ 3.11 重命名了代码生成器包,因为以前拆分的包现在在 JDK 9+ 中引起了问题:https ://github.com/jOOQ/jOOQ/issues/7419

如果您想将您的 jOOQ 发行版降级到 jOOQ 3.11 之前的版本,请使用 jOOQ 手册中的相关文档页面,例如https://www.jooq.org/doc/3.8/manual/来配置您的代码生成器.

在您的特定情况下,该类是org.jooq.util.JavaGenerator在 jOOQ 3.11 之前调用的。

但是,如果你想在 Oracle 上使用 jOOQ 开源版,你将不得不降级到 jOOQ 3.1(现在已经有 6 年多了),所以我绝对不推荐这种降级。


推荐阅读