java.lang.ClassNotFoundException: org.jooq.util.JavaGenerator - PullRequest
0 голосов
/ 11 июня 2018

После обновления с 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)

В чем причина?Этот класс был удален?

1 Ответ

0 голосов
/ 11 июня 2018

Повторное использование org.jooq.util имен пакетов в более старых версиях Java

В старых версиях jOOQ имел место конфликт имен пакетов между артефактами jooq и jooq-meta / jooq-codegen, которые все повторно использовали пакет org.jooq.util,Это было нормально в более старых версиях Java, вплоть до Java 8.

Прямая совместимость для Java 9 / JPMS

В JPMS, начиная с Java 9, это больше не разрешается при запуске кодана пути к модулю (в отличие от устаревшего пути к классам).Для прямой совместимости, , когда jOOQ будет модульным , пакеты с ошибками в jooq-meta и jooq-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 (среда выполнения) не изменил имена своих пакетов.

См. Также

...