首页 > 解决方案 > 如何使用 Maven 配置在 jOOQ 中使用自定义转换器?

问题描述

我在使用vertx-jooq库(vertxjOOQ库的组合)的Maven 项目中设置pom.xml文件时遇到问题。

我的主要项目是项目 A (vertx-my-project),我需要参考项目 B ( vertx-jooq-generate )。我在依赖项部分的项目 A 的pom.xml文件中引用了项目 B :

<dependencies>
 <!-- ...other necessary dependencies in Project A -->
 <dependency>
    <groupId>io.github.jklingsporn</groupId>
    <!-- artifactId is project B's artifactId -->
    <artifactId>vertx-jooq-generate</artifactId>  
    <version>5.1.1</version>
    <type>jar</type>
    <scope>compile</scope>
  </dependency>
</dependencies>

...而且我在 Eclipse 中通过在Project 的 Properties 窗口的Project References部分中检查它来引用它(Project B)。顺便说一句,我正在使用这个ClassicReactiveVertxGenerator作为我项目的默认代码生成器。

我已经创建了自定义转换器(就像在这个例子中,我们称之为CustomGenerator),它用于将String 类型转换为/从 java.time.LocalDateTime类型转换,以便能够使用Timestamp字段类型,因为 Vert.xJsonObject没有 getter/实现了 Timestamp 类型的 setter 方法。我通过在我的原始项目中添加另一个项目作为依赖项并通过更改(更准确地说是添加)2 个用作生成器类的类中的方法来做到这一点。

另外,我对如何在 pom.xml 文件中正确使用 CustomGenerator 进行了研究,但没有运气。所以我的问题是如何使用我的 CustomGenerator和/或有人可以指出我应该做什么/寻找什么?
先感谢您。

PS。我在 Maven 项目中使用jooq-codegen-maven 3.13.1版本。

标签: javaxmlpostgresqlmavenjooq

解决方案


我已经更新了我的问题,以更清楚地说明我实际做了什么以及想要实现什么。

经过几个小时的尝试,我设法通过以下方式找到了解决方案:
1)编辑已经在项目 B (vertx-jooq-generate) 中创建的已使用的 CustomGenerator ClassicReactiveVertxGenerator 并添加2个必要的方法(实际上是这2)用于转换。
2)在项目 B 上运行mvn clean install,然后在项目 A 上运行

那解决了问题。我已经按照这个答案设法做到了这一点。


推荐阅读