java.lang.ClassNotFoundException:org.jooq.util.JavaGenerator
技术问答
133 人阅读
|
0 人回复
|
2023-09-12
|
从jOOQ 3.10升级到3.11后遇到以下异常:8 Z2 Z9 m' F' Z$ ^! I$ C
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)原因是什么?这种已经删除了吗?
! Q' c$ p K4 \ 7 N. B# ^9 A) j
解决方案: ) h1 W: b- Y% i, N0 X
org.jooq.util在较旧的Java版本中重用程序包的名称较旧的jOOQ版本在jooq和jooq-meta/工件之间存在软件包名称冲突jooq-codegen,所有这些都应该重用org.jooq.util软件包。较早版本Java(直到Java 8),这一切都可以。 j. C" }" m" S5 t4 l
Java 9 / JPMS前向兼容性在JPMS下,从Java% n& B( S$ c( b, K G* f, X1 T
从9开始,代码不再允许在模块路径(而不是传统路径)上运行。对于向前兼容性,当jOOQ在问题包中模块化jooq-meta,并jooq-codegen已更名为:0 x6 J: j; Q- t0 ?3 F
https://github.com/jOOQ/jOOQ/issues/7419( g n0 L' I2 N9 ^
现在,以下代码生成模块中的软件包具有以下前缀:
" O9 H6 b0 D# ^( Mjooq-meta: org.jooq.meta/ h% T; h: ^! \; l4 l
jooq-meta-extensions: org.jooq.meta.extensions/ a7 S9 e, X! u2 i. v/ z7 | B
jooq-codegen: org.jooq.codegen
6 ?2 a, z) C; A5 B* jjooq-codegen-maven: org.jooq.codegen.maven该jooq其包名未改变模块(运行)。 |
|
|
|
|
|