回答

收藏

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其包名未改变模块(运行)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则