2012-11-03 148 views
4

我想從示例xsd使用jdk 1.6,xjc命令生成java類。 但我不想使用註釋,即我不想生成包含註釋的Java類。我該怎麼做?JAXB生成沒有註釋的java類

+0

嗨sampath可以得到沒有註釋生成的代碼?我也在尋找一個完全相同的問題的答案。 – weima

回答

0

JAXB (JSR-222)中,標準中定義的XML綁定元數據的唯一標準表示是JAXB註釋。因此,沒有這些註釋來生成類的選項的用途有限。

我是EclipseLink JAXB (MOXy)導致的,我們提供了這個JAXB元數據作爲擴展的XML(和JSON)表示:

如果您有興趣有能力生成此元數據而不是註釋,請請求對我們的缺陷數據庫進行鍼對MOXy組件的增強:

0

這個問題有兩個部分:

  • 在你有不同的生成代碼的編譯時間。你可以寫一個XJC插件來做到這一點。
  • 在運行時你必須使用沒有註釋的JAXB實現(參見Blaise在這部分的答案)。

查看XJC擴展性,這個問題:

XJC - is it extensible?

你可以寫一個XJC plugin從而徹底取代了代碼生成。所以我可以想象一個XJC插件,它爲MOXy生成XML映射,而不是類中的註釋。您也可以使用額外的註釋讀取器對JAXB RI執行此操作,但是使用MOXy會更加棘手。

但是,請注意,編寫先進的XJC插件是相當複雜的。