Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
生成java对象的复杂jaxb场景_Jaxb_Xjc - Fatal编程技术网

生成java对象的复杂jaxb场景

生成java对象的复杂jaxb场景,jaxb,xjc,Jaxb,Xjc,我有一个使用framework.xsd生成JAXB的项目。这将生成一个包含xsd、jaxb对象和其他类的jar 然后,另一个组(两个不同的组)将使用schema extends stuff扩展framework.xsd和子XML来扩展framework.xsd中的对象。他们还希望生成jaxb对象,但他们希望自己的SomeClass.java显然扩展my Framework.java,而不希望以全新的继承权结束 这可能吗 怎么做这样的事?因为解决方案需要 告诉jaxb编译器名称空间yy已经生成,所

我有一个使用framework.xsd生成JAXB的项目。这将生成一个包含xsd、jaxb对象和其他类的jar

然后,另一个组(两个不同的组)将使用schema extends stuff扩展framework.xsd和子XML来扩展framework.xsd中的对象。他们还希望生成jaxb对象,但他们希望自己的SomeClass.java显然扩展my Framework.java,而不希望以全新的继承权结束

  • 这可能吗
  • 怎么做这样的事?因为解决方案需要
  • 告诉jaxb编译器名称空间yy已经生成,所以不要生成
  • 告诉jaxb编译器它需要引用包zzzzzz中的类,或者从frameworkjar文件或其他文件中查看xjb文件
  • 这可能吗? 谢谢
    Dean

    您希望在为第一个模式生成JAXB类时使用一个插曲文件

    $ xjc -episode framework.episode framework.xsd
    
    然后,使用framework.jar的另一个组应该:

    1) 将您的架构导入到他们自己的架构中,例如:

    <xsd:import namespace="http://www.myorg.com/framework" schemaLocation="framework.xsd"/>
    
    (他们在xjc时间需要一份xsd和插曲文件的副本,以及类路径中的framework.jar)

    请注意,根据上面的博文,您还可以将framework.eption文件放在jar中(例如/META-INF/sun-jaxb.eption for jaxb RI至少-其他jaxb impl可能有其他方法来完成相同的事情),因此可以省略-b framework.eption选项。我个人觉得这有点不切实际,你仍然需要XSD

    $ xjc extend.xsd -b framework.episode