簡體   English   中英

如何在客戶端使用JAXB注釋進行GWT?

[英]How to use JAXB annotations in the client side for GWT?

我想在我的類中使用JaxB注釋,如下所示:

@XmlRootElement
public class ItemExtension implements Serializable {

但當我把它放在客戶端時,GWT抱怨。

 [ERROR] Line 4: The import javax.xml.bind cannot be resolved
         [ERROR] Line 14: XmlRootElement cannot be resolved to a type

有解決方法還是我做錯了什么?

我有一個項目,它在客戶端GWT代碼中使用帶有JPA和JAXB注釋的實體類。 請參閱GWT文檔中的“覆蓋一個包實現與另一個包”一節。

假設您的模塊位於com.example.app包中。 您需要在新包中重新創建[1]所有JAXB注釋類,特別是com.example.app.jre.java.xml.bind.annotation ; 在您的模塊XML文件中,然后添加<super-source path="jre" />並設置。

請注意,您不需要在該包中分發類文件,僅為了GWT編譯器而需要它們。

[1]:您可以復制它們並調整所有包引用。

我已經使用這個庫在GWT客戶端中進行jaxb解析

http://code.google.com/p/gwtjaxb/

它不是一個完整的JAXB生成器,但它涵蓋了我需要的一切。

通過從GWT模塊XML中的源中排除生成的JAXB ObjectFactory,我能夠解決我的GWT編譯器問題:

<source path="model">
    <exclude name="**/ObjectFactory.*" />
</source>

您可能會在這里找到一個可行的解決方案: GWT和JPA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM