我試圖自動實現一個接口,從一個xsd文件生成的一個java類。XJC超接口和超類僅適用於所有類?
This看起來好像它可以這樣做,但它只會將implements SomeInterface
添加到所有類,這是完全愚蠢的。我是否錯過了一些東西,或者你只能爲所有的課程做到這一點?讓所有生成的類實現相同的接口並沒有太多的意義。我可以只爲一個班級使用此功能嗎?
我試圖自動實現一個接口,從一個xsd文件生成的一個java類。XJC超接口和超類僅適用於所有類?
This看起來好像它可以這樣做,但它只會將implements SomeInterface
添加到所有類,這是完全愚蠢的。我是否錯過了一些東西,或者你只能爲所有的課程做到這一點?讓所有生成的類實現相同的接口並沒有太多的意義。我可以只爲一個班級使用此功能嗎?
您可以使用JAXB2 Basics Plugins提供的Inheritance extension。這適用於特定類別(即xsd:complexType
S)
這也是在這個問題的答案中描述:Generating a JAXB class that implements an interface
「繼承擴展」鏈接不可用。請更新。 – Everlight 2016-02-25 14:28:45
@ rainer198該更新似乎完成;) – 2017-06-14 11:05:12
要雪上加霜的是,這意味着與JAXB參考實現,你不能正確定義的值元素,因爲它會抱怨「@XmlValue不允許在派生另一個類的類上」。這是一個相當大的限制。所以,我同意,完全愚蠢。 – drrob 2017-01-26 17:46:27