2010-12-09 102 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