我的 POM 文件中有以下配置。特别是 jaxb-fluent-api 配置。
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<extension>true</extension>
<args>
<arg>-Xfluent-api</arg>
</args>
<schemaDirectory>src/main/resources</schemaDirectory>
<plugins>
<plugin>
<groupId>net.java.dev.jaxb2-commons</groupId>
<artifactId>jaxb-fluent-api</artifactId>
<version>2.1.8</version>
</plugin>
</plugins>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
无需配置 jaxb-fluent-api 实体就可以从 xsd 生成。这里有哪些使用 jaxb-fluent-api 的好处?
谢谢!
最佳答案
jaxb-fluent-api
是一个 JAXB 扩展,允许您以流畅的 api 风格生成代码。现在,fluent api 是一种设计类方法的方法,因此它们总是返回 this
而不是 void
。
project wiki 上有一个很好的例子(为简洁起见,我将其缩短了一点,请访问 the site 查看完整示例):
正常的 JAXB
生成的代码必须像这样使用:
Project project = factory.createProject();
project.setModelVersion("4.0.0");
project.setGroupId("redmosquito")
project.setArtifactId("jaxb-fluent-api-ext")
project.setPackaging("jar")
project.setVersion("0.0.1")
project.setName("JAXB Fluent API Extensions");
使用 jaxb-fluent-api
扩展,您可以像这样编写上面的代码:
Project project = factory.createProject()
.withModelVersion("4.0.0");
.withGroupId("redmosquito")
.withArtifactId("jaxb-fluent-api-ext")
.withPackaging("jar")
.withVersion("0.0.1")
.withName("JAXB Fluent API Extensions");
这基本上就是 fluent api 的全部内容。
关于java - 下面的配置是什么意思(jaxb-fluent-api)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190497/