从依赖的 XSD 生成 Java 代码



在本例中,我有三个XSD文件。其中basic.xsd提供常规对象,use-case-1.xsduse-case-2.xsd都通过以下方式导入基本对象:

<xs:import namespace="http://www.example.com/XMLSchema/app/basic" schemaLocation="basic.xsd"/>

我不想从这些XSD文件中生成代码,其中basic.xsd提供的对象只有一次。哪个 maven 插件提供此功能,我必须如何配置它?

jaxb2-maven-plugin 可以工作。

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                    <configuration>
                        <extension>true</extension>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

该插件默认在 src/main/xsd 中查找 XSD 文件。xjc 目标与generate-sources阶段绑定。默认情况下,包名称派生自命名空间。任何导入的命名空间都将使用从引用的架构生成的对象。

最新更新