在从jOOQ 3.10升级到3.11之后,我遇到了以下异常:
Caused by: java.lang.ClassNotFoundException: org.jooq.util.JavaGenerator
at java.net.URLClassLoader.findClass (URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass (ClassLoader.java:424)
at java.lang.ClassLoader.loadClass (ClassLoader.java:357)
at org.jooq.codegen.GenerationTool.loadClass (GenerationTool.java:819)
at org.jooq.codegen.GenerationTool.run (GenerationTool.java:329)
at org.jooq.codegen.GenerationTool.generate (GenerationTool.java:220)
at org.jooq.codegen.maven.Plugin.execute (Plugin.java:195)原因是什么?这门课被删除了吗?
发布于 2018-06-11 08:27:10
在旧版本中重用org.jooq.util包名
较早的jOOQ版本在jooq和jooq-meta / jooq-codegen手工艺品之间存在包名冲突,它们都重用了org.jooq.util包。在Java的旧版本中,这是可以接受的,直到Java 8。
Java 9/ JPMS的前向兼容性
在JPMS下,从Java 9开始,不再允许在模块路径上运行代码(与遗留类路径相反)。为了向前兼容性,何时jOOQ将被模块化、jooq-meta和jooq-codegen中的违规包被重命名为:https://github.com/jOOQ/jOOQ/issues/7419
以下代码生成模块中的包现在具有以下前缀:
jooq-meta:org.jooq.metajooq-meta-extensions:org.jooq.meta.extensionsjooq-codegen:org.jooq.codegenjooq-codegen-maven:org.jooq.codegen.mavenjooq模块(运行时)没有更改其包名。
另请参阅
发布于 2021-01-20 14:48:11
替换所有
org.jooq.util. 使用
org.jooq.meta.全都做完了。
https://stackoverflow.com/questions/50793357
复制相似问题