Are you aware of any good JAXB Plugin which generated Builder pattern classes for the generated JAXB classes? Composing domain using JAXB generated classes is really nasty. I saw a plugin someone wrote back in 2010 but it doesn't use the newest maven plugin jaxb2-maven-plugin, and it also requires you to specify bindings for each schema type which is not robust.
问问题
11171 次
2 回答
11
是的,现在有一个插件可以为 JAXB 生成的类生成流畅的构建器。有一个github项目
https://github.com/mklemm/jaxb2-rich-contract-plugin
它包含几个有用的 JAXB 插件。您可以从 github 下载源代码和二进制文件,或者从中央存储库获取 maven 工件
希望这可以帮助。如果你有任何问题,尽管问我,我是发起它的人。
于 2014-03-23T02:13:13.510 回答
5
以下来自pom.xml
文件的片段,使用 mavencxf-xjc-plugin
生成 JAXB 类,还利用jaxb-fluent-api
附加流畅的接口......它们本身并不完全是一个完整的构建器模式......但我认为它们为人们留下了空间在这个方向上取得不错的进展。
<!-- Used to generate source code based on XSD (schema) file -->
<!-- http://cxf.apache.org/cxf-xjc-plugin.html -->
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>2.7.7</version>
<configuration>
<extensions>
<extension>net.java.dev.jaxb2-commons:jaxb-fluent-api:2.1.8</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-xsd-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/target/generated-sources/cxf-xjc/</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>${basedir}/src/main/wsdl/your.xsd</xsd>
<packagename>com.your.package.name</packagename>
<extensionArgs>
<extensionArg>-Xfluent-api</extensionArg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
于 2013-12-12T23:47:00.353 回答