就像标题所说的那样。Jakarta 注解不在我的类路径中,所以我不知道为什么 jOOQ 使用这些注解生成 Java 类。我希望能够告诉它不要使用它,或者有办法指定它使用哪些验证注释。
我设置为 true 的唯一属性是validationAnnotations
,然后我到处都有 Jakarta 注释。任何想法如何将其配置为使用 javax 之类的其他东西?
我正在使用 jOOQ 代码生成 3.16.4
就像标题所说的那样。Jakarta 注解不在我的类路径中,所以我不知道为什么 jOOQ 使用这些注解生成 Java 类。我希望能够告诉它不要使用它,或者有办法指定它使用哪些验证注释。
我设置为 true 的唯一属性是validationAnnotations
,然后我到处都有 Jakarta 注释。任何想法如何将其配置为使用 javax 之类的其他东西?
我正在使用 jOOQ 代码生成 3.16.4
我刚刚找到上面的博客文章,我不高兴。他们至少可以做的是使其可配置。
我理解这种沮丧。我们都感觉到了。您找到的文章对此进行了描述:“一股浪潮正在席卷 Java 生态系统。它是将 javax 重命名为 jakarta 包名称。”
时钟在滴答作响。从 Spring Boot 3.0 开始,您无论如何都必须升级,甚至可能在此之前: https ://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline- for-spring-framework-6
其他框架也将很快升级。重命名对每个人来说都是痛苦的,是的,但是永远维护两个依赖项并没有太大的价值,特别是如果库使用像 jOOQ 这样少的特性。
替代方案记录在您从之前的编辑中引用的博客文章中。社区几乎没有关于什么是更好的选择的反馈(当然有抱怨,但我不确定是否可以做更好的事情)。在您的特定情况下,您可以简单地正则表达式替换所有生成的输出以再次修补导入。这就是 jOOQ 本身对生成的 JAXB 注释所做的事情,因为即使是生成代码的 XJC 插件也没有准备好进行这种混乱的重命名。
是的,本来可以有一个配置选项,但话说回来,对于 JAXB 和 JPA 的运行时依赖关系呢?这些不能轻易复制或配置。将两者都放在类路径上是否值得?还是要运送两个单独的发行版?不太可能。与 Hibernate 相比,这是一个不同的情况,后者在很大程度上取决于规范,但 jOOQ 并没有,真的。
我想我将使用旧版本。
你当然可以。但话说回来,这真的值得吗?你用这个功能做什么?你能不生成这些注释吗?