回答

收藏

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

技术问答 技术问答 141 人阅读 | 0 人回复 | 2023-09-12

从jOOQ 3.10升级到3.11后遇到以下异常:) t9 V" c6 ~$ [
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)原因是什么?这种已经删除了吗?
, |! J& Y0 ~+ P( S0 @# D; w                                                               
* a  M7 ]* @4 B* A  E    解决方案:                                                               
4 o( b- y& Z2 e5 G, w1 R8 Z, b# J* P                                                                org.jooq.util在较旧的Java版本中重用程序包的名称较旧的jOOQ版本在jooq和jooq-meta/工件之间存在软件包名称冲突jooq-codegen,所有这些都应该重用org.jooq.util软件包。较早版本Java(直到Java 8),这一切都可以。: e4 C$ r) r. [* @2 g- t
Java 9 / JPMS前向兼容性在JPMS下,从Java3 M3 S8 @) A: j+ u( U, t, q: F3 ?8 T
从9开始,代码不再允许在模块路径(而不是传统路径)上运行。对于向前兼容性,当jOOQ在问题包中模块化jooq-meta,并jooq-codegen已更名为:! ?& |: x1 q5 i2 |* O2 P4 g9 u) L% l
https://github.com/jOOQ/jOOQ/issues/7419
/ P7 u! Z. b. j现在,以下代码生成模块中的软件包具有以下前缀:& w- q3 ]5 a$ ~; S% }
jooq-meta: org.jooq.meta
: m: Z3 b( I9 Djooq-meta-extensions: org.jooq.meta.extensions
7 ~' m2 {& ]$ X3 ujooq-codegen: org.jooq.codegen
% X1 ~6 y7 p2 M" ^& m2 pjooq-codegen-maven: org.jooq.codegen.maven
该jooq其包名未改变模块(运行)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则