gpt4 book ai didi

java - 如何修改使用 cxf-codegen 插件创建的生成文件然后进行编译?

转载 作者:行者123 更新时间:2023-11-30 04:17:30 26 4
gpt4 key购买 nike

我正在使用cxf-codegen maven插件。我第一次执行mvn install时,它生成了一组文件,它们被放置在target/generated-sources/cxf文件夹中,所有生成的文件都被编译并打包在结果中由 maven 生成的 jar。

现在我发现,由于某种原因,在创建其余响应时,未从 package--info.java 中获取 namespace 属性。所以我的服务器抛出一个错误,说

 javax.xml.bind.UnmarshalException:
unexpected element (uri:"", local:"com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse").
Expected elements are
\lt{http://www.collab.net/teamforge/integratedapp}CreateProjectConfigurationRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersResponse\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetPageComponentParametersRequest>

所以我计划做的是,将生成的文件(GetConfigurationParametersResponse.java)中的 namespace 属性设置为

@XmlRootElement(name = "GetConfigurationParametersResponse", 命名空间 = "http://...")

。目前我做了更改并安装了 maven,但似乎没有发生任何事情。也就是说,maven install 会忽略生成文件中的更改。它不会被编译。

所以我的问题是

如何使我在生成的文件中所做的更改得到反射(reflect)并在 Maven 安装期间进行编译?

最佳答案

如果您将“-xjc-npa”标志添加到 wsdl2java,它应该为您填充所有 namespace 属性,而不是生成 package-info.java 内容。如果确实是问题的话,这可能会解决问题。也就是说,如果它仍然生成 namespace=""属性,则可能意味着 wsdl 中的架构是错误的并且其中没有 elementFormDefault="qualified"属性。

关于java - 如何修改使用 cxf-codegen 插件创建的生成文件然后进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17970041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com