2012-11-15 25 views
3

我有一些新的xsd schema版本更新,我需要爲其生成相應的java類。在過去,我瞭解使用EclipseLink的Moxy JAXB實現始終生成的類,並且我可以看到,如果模式包含模式(如<xs:pattern value="[a-zA-Z]"/>),則將在其中生成相應的java類,其中包含@Pattern(regexp="[a-zA-Z]", message= "...")註釋。在moxy生成的java類中包含xs:restriction(s)作爲註釋(s)

當我在我的設置中使用Moxy來生成這些Java類時,這些類生成的沒問題,但沒有@Pattern註釋。我對JAXB不太熟悉,我想知道我可能錯過了什麼,以允許這些註釋從模式派生並自動插入到Java類中。

我不太確定這是因爲我沒有使用足夠新的Moxy版本(目前使用2.1.2版本的EclipseLink),允許自動創建這些註釋,或者是否使用了先前的其他工具用於將這些註釋插入到類中。

對此問題的任何幫助將不勝感激。

Regards, PM。

回答

3

說明:我是EclipseLink JAXB (MOXy)的領導者,也是JAXB (JSR-222)專家組的成員。

生成類

的EclipseLink JAXB(MOXY)包括從所述JAXB reference implementation XML模式到Java編譯器(XJC)。目前,XJC工具沒有內置機制來在模型中生成Bean Validation (JSR-303)註釋。

XJC擴展

我還沒有試過以下擴展自己,但它看起來像它可能就是你在找什麼。由於XJC具有很強的可擴展性,因此可能還有其他插件可用。

當前的EclipseLink

的版本我也不太知道這是因爲我沒有使用新的足夠 版莫西(目前使用2.1。 2版本的EclipseLink)

目前的版本是EclipseLink 2.4.1,可以從下面的鏈接中獲得。它包含新的擴展名,如JSON binding

+1

嗨布萊斯,您使用的krasa-JAXB工具插件的建議是好的,這不正是我一直在尋找。花了一段時間讓它在Xjc中作爲插件運行,但現在它運行良好。謝謝你的幫助! –