使用
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
在新项目中,用v3.6.2或v4.0.0生成的客户端java类在
package org.oorsprong.websamples
正如预期的那样。但在较旧的项目中,包是“向后”(或dns样式)的,例如
package websamples.oorsprong.org
在 v4.0.0 下,但在 v3.6.2 下正如预期的那样。遗留项目需要迁移到cxf的更高版本,并且还需要正确命名的包。
我并没有真正找到
的讨论有帮助。使用
-dns false
似乎对生成的包名称没有任何影响。当我使用 -p
提供一个包名称时,我得到 两个声明导致 ObjectFactory 类中发生冲突。 当我提供两个包名称时,我得到 意外选项:-wsdlLocation。当我提供三个名为的包时,我得到 Unexpected argument: com.name.server.cxf3.
如何取消 cxf v4 中的包名称反转?
该项目还包括 cxf 4.0.0 不尊重的绑定文件,因为它们指向以下位置的模式:
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" version="2.1">
适用于 cxf v3.6.2,但 cxf v4.0.0 使用较新的版本:
<jaxb:bindings xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb" version="3.0">