【问题标题】:How to give the address of jooq generators custom strategy, while loading the configuration from xml file?如何在从 xml 文件加载配置时给出 jooq 生成器自定义策略的地址?
【发布时间】:2020-07-20 19:13:29
【问题描述】:

我正在从文件加载 jooq 配置,并且我有一个自定义生成器设置,如下所示:

<generator>
  <name>gen.generator.myGenerator</name>
    <strategy>
      <name>gen.generator.myGeneratorStrategy</name>
  </strategy>
.
.
</generator>

我正在从我的原始项目的子项目加载我的策略。

但问题是,如何解决我的策略?因为我得到 java.lang.ClassNotFoundException

【问题讨论】:

    标签: java maven jooq


    【解决方案1】:

    您的GeneratorStrategy 需要位于代码生成器的类路径中。这意味着您必须确保将包含该策略的子项目作为依赖项添加到您的项目中,或者至少添加到 jooq-codegen-maven 插件中,例如

    <plugin>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen-maven</artifactId>
        <executions>...</executions>
        <dependencies>
            <dependency>
                <groupId>com.example</groupId>
                <artifactId>my-subproject-containing-the-strategy</artifactId>
                <version>${my-subproject-version}</version>
            </dependency>
        </dependencies>
    </plugin>
    

    【讨论】:

    • 感谢 Lukas,但我不确定它是否能解决我的问题,因为我使用的是程序化生成器配置方法。我使用 jooq API,并使用 Jaxb 读取我的 xml,并由 GenerationTool 生成,所有这些都是用 Java 代码编写的。我知道如何在 maven 中解决这个问题并且它可以工作,但现在我有点困惑,因为我没有直接使用 jooq codegen maven 插件。--------------- 我也不能说我正在使用独立应用程序实际上我正在编写一个 Maven 插件,其中一个目标触发我的 jooq 生成
    • @frdsprtrdr:嗯,原因是一样的。无论您编写什么逻辑来生成 jOOQ 代码,您都没有自己的类。我不知道你做了什么,你没有在 Stack Overflow 上发布你的代码,所以我无法帮助你解决你遇到的具体问题。但是你可以从 jOOQ 的官方 Maven 插件中获得一些灵感,看看如何在插件中调整类路径:github.com/jOOQ/jOOQ/blob/master/jOOQ-codegen-maven/src/main/…
    猜你喜欢
    • 2016-01-16
    • 2012-05-06
    • 1970-01-01
    • 2011-06-12
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多