cxf-codegen-plugin 4 无法为 Collections 生成 setter

问题描述 投票:0回答:1

有没有使用最新的 cxf-codegen-plugin 为 Collections 生成 setter 的解决方案?

已尝试的步骤

  • jdk:21
  • cxf-codegen-插件:4.0.3
  • net.java.dev.vcc.thirdparty:集合设置器注入器:0.5.0-1
  • 额外参数 > -xjc-Xcollection-setter-injector

之前的结果 同样的方法也可以很好地使用

  • jdk 8 或 11
  • cxf-codegen-插件:2.6.1
  • net.java.dev.vcc.thirdparty:集合设置器注入器:0.5.0-1
  • 额外参数 > -xjc-Xcollection-setter-injector

收到错误:

线程“main”java.lang.NoSuchMethodError 中出现异常: 'com.sun.xml.bind.api.impl.NameConverter com.sun.tools.xjc.model.Model.getNameConverter()'

建议的解决方案之一是分叉并更改第 3 方插件以生成集合的设置器

相关文章

任何意见或建议都非常感谢。

java wsdl2java cxf-codegen-plugin
1个回答
0
投票

我们能够按照此 github 链接中发布的建议解决此问题

https://github.com/bjornvester/wsdl2java-gradle-plugin/issues/26 

我们分叉了这段代码,然后使用依赖项进行编译

  • jaxb-xjc:4.0.5
  • jaxb 核心:3.0.2

在 PluginImpl 下,导入语句被替换为

  • 导入 org.glassfish.jaxb.core.api.impl.NameConverter; 还有 NameConverter 的铸造如下

名称转换器 nc = (名称转换器) context.parent().getModel().getNameConverter();

通过以下更改,我们将插件代码发布到本地存储库并在 cxf-codegen-plugin 中使用此插件

我将很快提交代码示例以供参考

谢谢 -拉加万

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.