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

jaxb2简化插件绑定问题

公良照
2023-03-14
D:\>xjc -d . -extension -p org.my.space sample.xsd parsing a schema... [ERROR] Unsupported binding namespace
"http://jaxb2-commons.dev.java.net/basic/simplify". Perhaps you meant
"http://jaxb.dev.java.net/plugin/code-injector"?   line 7 of file:/D:/sample.xsd
Failed to parse a schema.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1"
    xmlns:simplify="http://jaxb2-commons.dev.java.net/basic/simplify"
    jaxb:extensionBindingPrefixes="simplify"
    xmlns="http://www.example.org/sampleXML" targetNamespace="http://www.example.org/sampleXML"
    elementFormDefault="qualified">
<bindings version="2.1"
      xmlns="http://java.sun.com/xml/ns/jaxb"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:simplify="http://jaxb2-commons.dev.java.net/basic/simplify"
      extensionBindingPrefixes="simplify">

    <bindings schemaLocation="sample.xsd" node="/xs:schema">
        <bindings
            node="/xs:schema/xs:complexType[@name='dlist']/xs:choice/xs:element[1]">
            <simplify:as-element-property />
        </bindings>
    </bindings>

</bindings>

共有1个答案

温嘉赐
2023-03-14

我切换到Maven jaxb2 plugin,经过更多的努力,它工作得很好。给将来有麻烦的人。这个设置在JDK1.6中运行良好(对于那些仍然不能迁移的用户)。

pom.xml

<build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <!--  plugin to compile schemas to JAXB classes -->
            <plugin>
                <groupId>org.jvnet.jaxb2.maven2</groupId>
                <artifactId>maven-jaxb21-plugin</artifactId>
                <version>0.13.1</version>
                <executions>
                    <execution>
                        <id>generate-JAXB</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <forceRegenerate>true</forceRegenerate>
                            <schemaDirectory>src/main/resources</schemaDirectory>
                            <schemaIncludes>
                                <include>sample.xsd</include>
                            </schemaIncludes>
                            <cleanPackageDirectories>true</cleanPackageDirectories>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <extension>true</extension>
                    <args>
                        <arg>-Xsimplify</arg>
                    </args>
                    <plugins>
                        <plugin>
                            <groupId>org.jvnet.jaxb2_commons</groupId>
                            <artifactId>jaxb2-basics</artifactId>
                            <version>0.11.0</version>
                        </plugin>
                    </plugins>
                </configuration>
            </plugin>
        </plugins>
    </build>

我没有使用binding.xjb,因为我已经将simplifiel直接包含在架构中(因为我有访问权限)。

<xs:complexType name="doclist">
    <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
                <xs:appinfo>
                    <simplify:as-element-property />
                </xs:appinfo>
            </xs:annotation>
            <xs:element name="document1" type="type1" />
            <xs:element name="document2" type="type2" />
        </xs:choice>
    </xs:sequence>
    <xs:attribute name="heading" type="xs:string" />
</xs:complexType>
 类似资料:
  • 我尝试使用mave-jaxb2插件和jaxb2-basics简化插件将XSD转换为JAXB类。 pom中的配置。xml在本文中提供 样品xsd(复杂选择类型) 然而,生成的JAXB类有aOrB引用。

  • 在使用maven-jaxb2插件从xsd生成Java代码时,我遇到了以下错误,使用命令行中的xjc,这些代码都运行良好。有人知道如何调试maven-jaxb2插件吗?

  • 问题内容: 我目前正在从事Java 11迁移项目,其中jaxb2-maven-plugin已用于XJC任务。由于JDK 11版本中没有XJC可执行文件,因此出现以下错误。 下面是我的pom.xml 根据Java 11的要求,我添加了必要的依赖项,例如JAXB,JAXB-IMPL等。但是仍然无法解决问题。您对此有任何建议的解决方法吗?预先感谢。 问题答案: 我通过以下参考链接解决了此问题。 http

  • 我正在尝试构建我的项目,因为我遇到了一个名为[error]的错误,无法执行目标组织。科德豪斯。mojo:jaxb2-maven插件:2.4:xjc(一)on project tg tems ota common service::MojoExecutionException:NoSchemasException- 我们使用的是java8、apache maven 3.6.3、jaxb2插件2.4

  • 问题内容: 我试图弄清楚如何用角度绑定工具提示的内容。我有一个看起来像这样的指令: script.js 它从这里使用qTip2插件 我的index.html看起来像这样(请注意,在实际文件中,我已经包括了所有源文件,为了避免混乱,我只是未将其粘贴在此处): 和 button.html 如您在指令代码中看到的。将button.html加载到工具提示中,但是这会阻止angular正常运行-将butto

  • 我正在制作一个maven项目,它将使用Jaxb2 maven插件从xsd文件生成java文件。我的项目结构如下: 下面是pom的插件配置。xml 如果我这样编译,那么我会得到以下错误(即使源目录包含有效的模式文件): 然而,如果我像下面这样注释源代码并取消注释和修改,那么我就能够在公共模式下从模式中生成java类。 有人能告诉我为什么会这样吗?如果我必须解析一个根文件夹(有多个子文件夹)下的所有架