2

私はgwtアプリケーションを持っています、コンパイル中にエラーが発生します:

追加の依存関係のスキャン:file:/ D:/projects/healthplanel_trunk/clinics-gwt-client/src/com/clinics/gwt/shared/UserServiceAsync.java'com.clinics.gwt.shared.UserServiceのすべての可能な再バインド結果を計算します'再バインドcom.clinics.gwt.shared.UserService呼び出しジェネレータcom.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGeneratorリモートサービスインターフェイスのクライアントプロキシを生成します'com.clinics.gwt.shared.UserService'分析'com.clinics。シリアル化可能なタイプの場合はgwt.shared.UserService'分析メソッド:public abstract com.clinics.gwt.shared.query.GQueryResult listAdmins(com.clinics.gwt.shared.query.GQueryParams queryParams)パラメーター:com.clinics.gwt.shared。クエリ。GQueryParams queryParamscom.clinics.gwt.shared.query.GQueryParamsインスタンス化可能性の検証com.clinics.gwt.shared.query.GQueryParamsシリアル化の対象となるタイプ「com.clinics.gwt.shared.query.GQueryParams」のフィールドの分析プライベートJava .util.List>フィルターjava.util.List>インスタンス化可能性の検証java.util.Vector>「java.util.Vector>」のパラメーターのチェックタイプ'java.util.Vector'のタイプ引数0をチェックしています。これは、このタイプまたはそのサブタイプの1つで直接公開されているためです。com.clinics.gwt.shared.query.GFilterByインスタンス化可能性の検証com.clinics.gwt.shared.query。 GFilterBy'com.clinics.gwt.shared.query.GFilterBy'のパラメーターをチェックしています'タイプ'com.clinics.gwt.shared.query.GFilterBy'のタイプ引数0をチェックしていますこのタイプまたはそのサブタイプの1つで直接公開されているためjava.io.Serializableインスタンス化可能性の検証java.util.HashMap[警告]シリアル化の対象となるオブジェクトのすべてのサブタイプをチェックしますHashMap[警告]シリアル化の対象となるオブジェクトのすべてのサブタイプをチェックしていますHashMap[警告]シリアル化の対象となるオブジェクトのすべてのサブタイプをチェックしています

私のコードは次のとおりです。

public class GQueryParams implements IsSerializable {
private static final long serialVersionUID = 1L;
private int offset = 0;
private int maxCount = -1; // -1 means all
private ArrayList<GOrderBy> orders = new ArrayList<GOrderBy>();
private ArrayList<NoSqlOrderBy> noSqlOrders = new ArrayList<NoSqlOrderBy>();
private ArrayList<GFilterBy<?>> filters = new ArrayList<GFilterBy<?>>();

と:

public class GFilterBy<T extends Serializable> implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private GFilterOperation operation;
private T value;

何が問題なのですか、手伝ってくれませんか。

4

1 に答える 1

4

GFilterBy<?>基本的にすべて(を実装するすべてSerializable)を受け入れるため、ジェネレーターは、該当するすべてのクラスのクラスパス全体をスキャンし、それぞれに適切なser/逆シリアル化コードを生成する必要があります。

これは一般的にあなたが望むものではないので、警告です。

経験則では、GWT-RPCを使用してネットワーク経由で送信されるタイプは常に可能な限り具体的にします。そして?明らかにその規則に違反しています。

于 2012-08-29T12:33:28.977 に答える