gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:40 29 4
gpt4 key购买 nike

我从 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)

这是什么原因?这个类被删除了吗?

最佳答案

在旧 Java 版本中重用 org.jooq.util 包名

较旧的 jOOQ 版本在 jooqjooq-meta/jooq-codegen 工件之间存在包名冲突,它们都重用了 org.jooq.util 包。这在 Java 8 之前的旧版本 Java 中是可以的。

Java 9/JPMS 的前向兼容性

在 JPMS 下,从 Java 9 开始,在模块路径(与遗留类路径相反)上运行代码时不再允许这样做。为了向前兼容,when jOOQ will be modularisedjooq-metajooq-codegen 中的违规包已重命名: https://github.com/jOOQ/jOOQ/issues/7419

以下代码生成模块中的包现在具有这些前缀:

  • jooq-meta: org.jooq.meta
  • jooq-meta-extensions:org.jooq.meta.extensions
  • jooq-codegen:org.jooq.codegen
  • jooq-codegen-maven:org.jooq.codegen.maven

jooq 模块(运行时)没有改变它的包名。

另见

关于java.lang.ClassNotFoundException : org. jooq.util.JavaGenerator 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50793357/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com