首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven plugin - jaxb -创建JAXB类

maven plugin - jaxb -创建JAXB类
EN

Stack Overflow用户
提问于 2014-07-22 14:25:05
回答 1查看 451关注 0票数 1

我正在使用JAXB插件,需要为至少几十个模式生成类。如何动态创建与每个模式对应的包?

代码语言:javascript
复制
schema 1 -> package x.y.z.schema1
schema 2 -> package x.y.z.schema2..... 

在Maven插件中提到的样式会让你的pom.xml变得非常混乱。

JAXb2建议帮助页:

代码语言:javascript
复制
<execution>
                <id>xjc-schema1</id>
                <goals>
                    <goal>xjc</goal>
                </goals>
                <configuration>
                    <schemaFiles>schema1.xsd</schemaFiles>
                    <packageName>com.example.foo</packageName>
                </configuration>
            </execution>
            <execution>
                <id>xjc-schema2</id>

或者,我认为一种解决方法是将此配置存储在单独的xml文件中,但我不知道如何将其包含在maven中。

EN

回答 1

Stack Overflow用户

发布于 2015-05-08 21:54:42

你有没有尝试使用绑定文件?我过去常常使用绑定文件这样做:

代码语言:javascript
复制
<?xml version="1.0"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
    jaxb:extensionBindingPrefixes="inheritance" jaxb:version="2.1">

    <jaxb:bindings schemaLocation="../xsd/mySchema1.xsd"
        node="/xsd:schema">
         <jaxb:schemaBindings>
            <jaxb:package name="my.package.schema1" />
         </jaxb:schemaBindings>
    </jaxb:bindings>

    <jaxb:bindings schemaLocation="../xsd/mySchema2.xsd"
        node="/xsd:schema">
         <jaxb:schemaBindings>
            <jaxb:package name="my.package.schema2" />
         </jaxb:schemaBindings>
    </jaxb:bindings>
</jaxb:bindings>

以便在pom中仅指定所有XSD文件夹和绑定文件的路径

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24880286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档