生成java对象的复杂jaxb场景
我有一个使用framework.xsd生成JAXB的项目。这将生成一个包含xsd、jaxb对象和其他类的jar 然后,另一个组(两个不同的组)将使用schema extends stuff扩展framework.xsd和子XML来扩展framework.xsd中的对象。他们还希望生成jaxb对象,但他们希望自己的SomeClass.java显然扩展my Framework.java,而不希望以全新的继承权结束生成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已经生成,所
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