当前位置: 首页 > 知识库问答 >
问题:

JAXB生成JAXBELEMENT所需字符串

步博艺
2023-03-14
<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>

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

是否有任何方法我可以配置,使元素将被创建为字符串,而不是JAXB元素。

共有1个答案

韦泳
2023-03-14

从链接得问题中获取给定得代码段...

<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>
 类似资料:
  • 问题内容: 我正在使用 插件从文件生成源。问题是我不是生成而是生成。我添加了如下文件: 这应该防止产生。但是它仍然无法正常工作,我仍然生成了。 我的插件如下所示: 版本是。有人知道问题可能出在哪里吗? 编辑 XSD非常庞大。这是产生的要素 生成的源是: 问题答案: 我要做的是把另一个包裹起来。 现在一切正常,不再产生任何东西。

  • 我正在使用插件从文件生成源代码。问题是生成的是而不是。我添加了文件,该文件如下所示: 这应防止生成。但它不起作用我仍然生成了而不是。 我的插件如下所示: 版本为。有人知道问题出在哪里吗? XSD非常庞大。这是生成的元素 生成的源是:

  • 问题内容: 我有一个关于JAXB的简单问题。这是示例代码: 如何初始化使用其他对象的String的输入元素? 问题答案: 您可以直接创建一个实例,或者如果您是从XML模式生成的Java模型,请在生成的类上使用convience方法。 schema.xsd 上面的演示代码基于从以下XML模式生成的Java模型。你会得到一个原因摆在首位属性是当你有一个既是元素和。 根 以下类是从中生成的,并且包含与您

  • 问题内容: 我正在使用JAXB在Maven中使用JAXB插件从XSD生成bean。一切正常,希望代码包含每个字段的isSetXXXXXX()方法。 例如 对于字段 firstName ,它将产生以下代码: 这是isSetFirstName()方法引起的问题,我不希望JAXB生成这些问题。 有没有办法阻止这种行为? 谢谢。 更新 解决此问题:问题出在xjb文件中,generateIsSetMetho

  • 问题内容: 我在网上找到了一个链接,该链接显示了一种算法来生成字符串的所有组合:http : //www.mytechinterviews.com/combinations-of-a- string 算法复制如下。 我不明白的是这行: 如果我删除此行,则该程序显然不再起作用,但是为什么首先需要这样做?我了解递归的想法,在这个想法中,我们改变了初始字符,然后对其余字符进行了递归,但是deleteCh

  • 问题内容: 我在两个不同的Java项目中有两个代码,几乎可以完成相同的工作(根据xsd文件解组Web服务的输入)。 但是在一种情况下,我应该这样写:(输入是一个占位符名称)(元素是OMElement输入) 在另一个库中,我必须使用JAXBElement.getValue(),因为它是返回的JAXBElement,并且简单的(Input)强制转换会崩溃: 您知道导致这种差异的原因吗? 问题答案: 如