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其包名未改变模块(运行)。 |
|
|
|
|
|