我需要添加包级注释(XmlJavaTypeAdapters 类型适配器)。问题是,当我运行 wsdl2java 时,它会为该包生成 package-info.java 文件。
当我尝试添加自己的 package-info.java 时出现错误:“类型 package-ingo 已定义”。
有没有办法将我的注释注入(inject) package-info.java?也许还有其他想法?
谢谢
最佳答案
经过一些研究,我使用了外部映射文件。对于所有与我有类似问题的人,我在下面描述了我发现的内容。
如果您使用“cxf-codegen-plugin”从 WSDL 生成源代码,则不能将解决方案与 package-info.java 一起使用。这是因为生成的代码可能已经包含该文件。您也不能向您的类添加注释,因为它是生成的。唯一的解决方案是提供您自己的映射器。
首先,您必须编写自定义映射器。之后,您应该定义 xjb 映射文件,最后将其他配置添加到您的 pom.xml。您可以阅读前两个步骤 here .
要将外部映射文件添加到 cxf-codegen-plugin,您必须在插件定义中的配置节点中添加如下内容:
<defaultOptions>
<bindingFiles>
<bindingFile>${basedir}/src/main/resources/mapping.xjb</bindingFile>
</bindingFiles>
<noAddressBinding>true</noAddressBinding>
</defaultOptions>
请注意,您不应按照 here 所述将额外参数传递给 xjc因为它不会起作用。
希望这对任何人都有帮助:)
关于java - 注释CXF(wsdl2java)生成的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12894811/