JAXB生成JAXBElement <string>所需的String

时间:2018-11-06 04:38:51

标签: java-ee jaxb maven-jaxb2-plugin

我已经使用maven插件从wsdl创建了Java类,下面提到pom.xml中的相关条目

<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>${maven-jaxb2-plugin.version}</version>
<executions>
    <execution>
        <goals>
            <goal>generate</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <generatePackage>om.sd</generatePackage>
    <generateDirectory>${project.basedir}/src/main/java</generateDirectory>
    <schemaDirectory>${project.basedir}/src/main/resources/wsdl</schemaDirectory>
    <args>
        <arg>-no-header</arg>
    </args>
    <schemaIncludes>
        <include>*.wsdl</include>
    </schemaIncludes>
</configuration>
</plugin>

已生成Java类。

将请求类元素创建为JAXB元素,而不是String,我需要将其手动转换为String。

有什么方法可以配置,以便将元素创建为String而不是JAXB元素。

1 个答案:

答案 0 :(得分:1)

从链接的问题中获取给定的摘要...

<jaxb:bindings ... xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
  <jaxb:globalBindings generateElementProperty="false">
    <xjc:simple />
    <!-- ... -->
  </jaxb:globalBindings>
</jaxb:bindings>

...,并生成包含自定义包装程序的自定义*.xjb文件。将文件放在架构目录中-插件应默认找到它。

如果要将文件放入您选择的目录中,只需在POM中插件的配置部分中引用它即可。

<bindingDirectory>src/main/resources</bindingDirectory>
<bindingIncludes>
  <include>**/*.xjb</include>
</bindingIncludes>
<bindingExcludes>
  <exclude>**/*.xj</exclude>
</bindingExcludes>

需要更多信息吗?

[1] https://github.com/highsource/maven-jaxb2-plugin/wiki/Specifying-What-To-Compile

[2] http://websystique.com/java/jaxb/jaxb-codegeneration-maven-example/