1

GWTアプリケーションのGoogleGauvaコレクションで検索操作を実行したい。これらはスタンドアロンアプリケーションでは正しく機能していますが、GWTではランタイムの問題が発生しています。EntryPointクラスのonModuleLoad()のサンプルコードを示しています。guava-gwt-14.0.1.jarとguava-10.0.jarの両方のビルドパスを設定します

public void onModuleLoad() {

    List<String> sList=new ArrayList<String>();
    sList.add("arun kumar");
    sList.add("ashok kumar");
    sList.add("ravi kumar");
    sList.add("kiran kumar");
    sList.add("rama");
    sList.add("ram");
    sList.add("rama krishna");
    sList.add("phani");
    sList.add("vikram");
    sList.add("veeru");
    sList.add("arjun");
    sList.add("naresh");


    //pattern matching
    Collection<String> filterdNamesKumar=Collections2.filter(sList, Predicates.containsPattern("kumar"));
    //starts with
    Collection<String> filterdNamesRam=Collections2.filter(sList, Predicates.containsPattern("^ram"));
    Collection<String> filterdNamesAr=Collections2.filter(sList, Predicates.containsPattern("^ar"));

    System.out.println(filterdNamesAr.toString());
    System.out.println(filterdNamesKumar.toString());
    System.out.println(filterdNamesRam.toString());

    Map<String,String> emps=new HashMap<String,String>();
    emps.put("emp1","01/02/2013");
    emps.put("emp2", "10/12/2013");
    emps.put("emp3","20/11/2013");
    emps.put("emp4", "25/09/2013");
    emps.put("emp5", "15/12/2013");
    emps.put("emp6", "20/08/2013");
    emps.put("emp7", "02/02/2012");

    for(String s:emps.keySet()){
        String strDate=emps.get(s);
        DateTimeFormat dateFormat=DateTimeFormat.getFormat("dd/MM/yyyy");
        Date empDate=dateFormat.parse(strDate);



            Date startDate=dateFormat.parse("01/11/2013");
            Date endDate=dateFormat.parse("31/12/2013");
            Range<Date> range=Ranges.closed(startDate, endDate);
            boolean b=range.apply(empDate);
            if(b){
                Window.alert("date found between boundaries");
            }

    }   

}

エラー:

[DEBUG] [googlegauva] - Validating newly compiled units
[TRACE] [googlegauva] - Finding entry point classes
    [ERROR] [googlegauva] - Errors in 'file:/D:/arun/eclipse_Myna/GoogleGauva/src/com/arun/gauva/client/GoogleGauva.java'
        [ERROR] [googlegauva] - Line 57: The method containsPattern(String) is undefined for the type Predicates
        [ERROR] [googlegauva] - Line 59: The method containsPattern(String) is undefined for the type Predicates
        [ERROR] [googlegauva] - Line 60: The method containsPattern(String) is undefined for the type Predicates
    [ERROR] [googlegauva] - Unable to find type 'com.arun.gauva.client.GoogleGauva'
        [ERROR] [googlegauva] - Hint: Previous compiler errors may have made this type unavailable
        [ERROR] [googlegauva] - Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[ERROR] [googlegauva] - Failed to load module 'googlegauva' from user agent 'Mozilla/5.0 (Windows NT 6.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1' at 127.0.0.1:52248
[DEBUG] [googlegauva] - Validating newly compiled units
[TRACE] [googlegauva] - Finding entry point classes
    [ERROR] [googlegauva] - Errors in 'file:/D:/arun/eclipse_Myna/GoogleGauva/src/com/arun/gauva/client/GoogleGauva.java'
        [ERROR] [googlegauva] - Line 57: The method containsPattern(String) is undefined for the type Predicates
        [ERROR] [googlegauva] - Line 59: The method containsPattern(String) is undefined for the type Predicates
        [ERROR] [googlegauva] - Line 60: The method containsPattern(String) is undefined for the type Predicates
    [ERROR] [googlegauva] - Unable to find type 'com.arun.gauva.client.GoogleGauva'
        [ERROR] [googlegauva] - Hint: Previous compiler errors may have made this type unavailable
        [ERROR] [googlegauva] - Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[ERROR] [googlegauva] - Failed to load module 'googlegauva' from user agent 'Mozilla/5.0 (Windows NT 6.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1' at 127.0.0.1:52251
4

1 に答える 1

4

Patterns.containsPatternこれは@GwtIncompatible、guava-gwt にないことを意味します。

ところで、guava-gwt と guava には同じバージョンを使用する必要があります。

于 2013-03-20T13:39:59.213 に答える