Java 如何让JAXB2发出CamelCase绑定?
我使用jaxws-maven插件的目标从WSDL生成Java类。开箱即用,这会从XML模式生成可怕的类和方法;e、 例如,一个名为MYOBJECT的XML元素中的MYOBJECT类 我发现我可以使用外部文件;这对于少量的类和方法来说是可以接受的,但是在这种情况下手动命名所有内容的开销是不可取的 一些搜索发现了对插件的引用,但这似乎没有维护,大多数链接都是404。不愿意放弃,我确实找到了一个Maven工件,它似乎提供了这个功能,但我不确定如何配置它,以便jaxws Maven插件使用它Java 如何让JAXB2发出CamelCase绑定?,java,jaxb2,maven-jaxb2-plugin,java-ws,Java,Jaxb2,Maven Jaxb2 Plugin,Java Ws,我使用jaxws-maven插件的目标从WSDL生成Java类。开箱即用,这会从XML模式生成可怕的类和方法;e、 例如,一个名为MYOBJECT的XML元素中的MYOBJECT类 我发现我可以使用外部文件;这对于少量的类和方法来说是可以接受的,但是在这种情况下手动命名所有内容的开销是不可取的 一些搜索发现了对插件的引用,但这似乎没有维护,大多数链接都是404。不愿意放弃,我确实找到了一个Maven工件,它似乎提供了这个功能,但我不确定如何配置它,以便jaxws Maven插件使用它 如何在不手
如何在不手动指定的情况下获得CamelCase绑定?我没有找到如何使用
jaxws-maven-plugin
实现这一点的示例,但我找到了使用maven-jaxb2-plugin
的示例
首先,您需要在POM中添加一个存储库:
<repository>
<id>releases</id>
<name>Releases</name>
<url>https://oss.sonatype.org/content/repositories/releases</url>
</repository>
有关更多详细信息,请参阅。可能对Apache CXF和CXF xjc插件的用户有用
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<extensions>
<extension>org.andromda.thirdparty.jaxb2_commons:camelcase-always:1.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>YOUR.XSD.HERE</xsd>
<packagename>YOUR.PACKAGE.HERE</packagename>
<extensionArgs>
<extensionArg>-camelcase-always</extensionArg>
</extensionArgs>
<extension>true</extension>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
org.apache.cxf
cxf xjc插件
3.1.0
org.andromda.thirdparty.jaxb2_commons:camelcase-always:1.0
生成源
生成源
xsdtojava
${basedir}/target/generated sources/cxf
这里是你的.XSD
你的包裹在这里
-卡梅尔凯斯总是
真的
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<extensions>
<extension>org.andromda.thirdparty.jaxb2_commons:camelcase-always:1.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>YOUR.XSD.HERE</xsd>
<packagename>YOUR.PACKAGE.HERE</packagename>
<extensionArgs>
<extensionArg>-camelcase-always</extensionArg>
</extensionArgs>
<extension>true</extension>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>