2013-10-15 47 views
0

我想重載GWT「Date_CustomFieldSerializer」(GWT 2.5.1與maven2和java1.6)。重載GWT Date_CustomFieldSerializer

我讀過可以通過在自己的項目中創建相同的包結構來重載序列化程序。

在我的情況下,我重新包裝com.google.gwt.user.client.rpc.core.java.util超載類Date_CustomFieldSerializer,但它似乎不工作。

在序列化日期時,使用了GWT Date_CustomSerializer,但是當Date被反序列化時,使用我自己的「Date_CustomSerializer」。

如果我刪除編譯Date_CustomFieldSerializer.class關閉gwt-user.jargwt-servlet.jar然後我自己Date_CustomFieldSerializer總是使用,但是這是一個糟糕的解決方案,我是一個乾淨的方式說GWT使用我自己的序列後始終。

對於開發,我使用jetty和maven與gwt-maven-plugin並在生產模式下使用weblogic。

我嘗試編譯我自己的GWT的版本,但是當我嘗試運行它,它失敗,服務器說:

[ERROR] Unable to initialize static dispatcher 
java.lang.UnsupportedClassVersionError: com/google/gwt/core/client/JavaScriptObject$ : Unsupported major.minor version 51.0 

我如何可以將其設置爲使用我自己的序列不GWT定製編譯?

回答

0

您的版本是否在classpath上第一個?

+0

嗨,謝謝你的回答。我自己的類位於WEB-INF/classes內部,GWT類位於WEB-INF/lib/gwt-servlet.jar內部。所以我認爲我自己的班級有正確的偏好,但有一些錯誤 – redbuo

0

它是Java的版本。 您必須使用相同版本的Java編譯GWT Jar和您的類。 版本51是Java 7版本。 (How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version) 但GWT必須使用java編譯6. 您必須將您的java源設置爲1.6

+0

嗨,謝謝你的回答。我的Java版本是「1.6.0_29」。我編譯GWT與螞蟻1.8.3和Java 1.6。這很奇怪,因爲我不使用java 7 – redbuo

+0

我在eclipse中遇到了這個問題,也許你的IDE是用Java 1.7構建你的類? –

+0

嗨,但我不在eclipse內導入項目。我只改變一個類與編輯++和他們我在控制檯中運行螞蟻,並驗證在控制檯我有Java 1.6與螞蟻1.8.3 – redbuo