使用Eclipse中的JAXB从XSD文件生成类,如何确保导入的XSD最终位于单独的包中?

时间:2013-09-19 14:53:33

标签: java eclipse jaxb xsd

我有两个我想要生成类的模式。每个模式都导入一个公共模式。

架构源目录是:

  • 公共/ types.xsd
  • 组件/ componentType.xsd
  • 部署/ deployment.xsd

后两个模式导入第一个。显然,每个模式都有自己的命名空间。我希望每个模式最终都在自己的包中,类型类只存在于公共包中。每当我尝试它时,我会得到重复的公共课程。我试过使用绑定规范但没有成功,它似乎被忽略了。我尝试了以下方法:

<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
    <jxb:bindings namespace="http://www.myorg.com/schemas/types" schemaLocation="common/types.xsd" >
        <jxb:schemaBindings>
            <jxb:package name="com.myorg.xml.common"/>
        </jxb:schemaBindings>
    </jxb:bindings>
    <jxb:bindings namespace="http://www.myorg.com/schemas/types" schemaLocation="component/componentType.xsd" >
        <jxb:schemaBindings>
            <jxb:package name="com.myorg.xml.common"/>
        </jxb:schemaBindings>
    </jxb:bindings>
</jxb:bindings>

我正在使用Eclipse Juno,我以前使用“新建” - >“来自Schema的JAXB类”生成类。我没有为项目使用任何自定义构建脚本等,不仅如此,但我担心我对构建的有限知识意味着理解或编写自定义Ant / Maven脚本超出了我的范围。

是否有人可能会描述如何生成类以便共享公共类并使用Eclipse GUI“来自Schema的JAXB类”?

提前谢谢

0 个答案:

没有答案