就像标题上说的。雅加达注释不在我的类路径中,所以我不知道为什么jOOQ要用这些注释生成Java类。我希望能够告诉它不要使用它,或者更确切地说,有一种方法来指定它所使用的验证注释。
我设置为true的唯一属性是validationAnnotations,然后到处都有雅加达注释。有什么想法吗?如何在使用时配置它,比如javax?
我使用的是jOOQ码元3.16.4
发布于 2022-02-24 16:31:21
我刚找到上面的博客,我很不高兴。至少他们能做的是使它可配置。
我理解你的挫折感。我们都感觉到了。您发现的这篇文章描述了它:“一股浪潮正在Java生态系统中传播,它将javax重命名为雅加达包名。”
时钟在滴答作响。从SpringBoot3.0开始,您无论如何都必须升级,甚至在此之前:https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6
其他框架也将很快升级。是的,重命名对每个人来说都是痛苦的,但是永远维护两个依赖关系并没有太大的价值,尤其是如果库只使用jOOQ这样的特性的话。
替代方案在之前编辑时引用的博客文章中有文档记录。社会上几乎没有关于什么是更好的选择的反馈(当然,有人抱怨过,但我不确定是否可以做得更好)。在您的特殊情况下,您可以简单地regex-替换所有生成的输出来重新修补导入。这就是jOOQ本身对生成的JAXB注释所做的事情,因为即使生成代码的XJC插件也没有为这个混乱的重命名做好准备。
是的,本来可以有一个配置选项,但是,对于JAXB和JPA的运行时依赖关系又是怎样的呢?它们不能很容易地被复制或配置。把这两样都放在类路径上值得吗?或者发布两个独立的发行版?不太可能。这与Hibernate的情况不同,Hibernate在很大程度上依赖于规范,但jOOQ实际上并非如此。
我想我要用的是旧版本。
你当然可以。但再说一遍,这真的值得吗?你用这个功能做什么?你能直接删除生成那些注释吗?
https://stackoverflow.com/questions/71254500
复制相似问题