2010-12-09 92 views
1

我试图使用JAXB附带的xjc命令从XSD模式生成Java类。JAXB:使用本地schemaLocation生成Java类

我的模式是这样的:

<xs:schema xmlns="..." 
      xmlns:ext="http://schemas.myco.com/ext" ... > 
    <xs:import namespace="http://schemas.myco.com/ext" 
      schemaLocation="http://myco.com/schemas/ext.xsd"/> 
    ... 

的问题是schemaLocation URI不存在,我不能修改的XSD文件。这就是生成过程失败的原因,例如“src-resolve:无法将名称'ext:Resource_Type'解析为(n)'类型定义'组件”。

有什么办法强制JAXB在过程中使用本地副本的ext.xsd文件,而无需修改原始XSD文件?

回答

3

两个可能的解决方案:

JAXB集文件: http://weblogs.java.net/blog/2006/09/05/separate-compilation-jaxb-ri-21

XML目录(谷歌搜索)

+0

谢谢。我会尝试两个。我不知道第一个(我希望它与jaxb2-maven-plugin兼容),并且我一直试图使用带有诸如“PUBLIC namespace_url local_path”之类的条目的目录,但没有成功(任何好的链接在这个意义上?)。谢谢。 – 2010-12-09 22:30:49