2012-02-17 43 views
2

美好的一天給大家!我試圖創建一個基於谷歌教程示例「GWT開發與活動和地方」文章的項目。我創建了幾個地方,並在其中每個Tokenizer類。當我嘗試編譯項目時,我收到以下錯誤:無法創建PlaceTokenizer類

Found type 'com.calendarmvp.client.mvp.AppPlaceHistoryMapper' 
    [ERROR] Annotation error: cannot resolve com.calendarmvp.client.place.GreetingsPlace$Tokenizer 
    java.lang.ClassNotFoundException: com.calendarmvp.client.place.GreetingsPlace$Tokenizer 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:247) 
at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotationValue(TypeOracleMediator.java:750) 
at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotationValue(TypeOracleMediator.java:689) 
at com.google.gwt.dev.javac.TypeOracleMediator.createAnnotation(TypeOracleMediator.java:498) 
at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotation(TypeOracleMediator.java:648) 
at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotations(TypeOracleMediator.java:663) 
at com.google.gwt.dev.javac.TypeOracleMediator.resolveClass(TypeOracleMediator.java:809) 
at com.google.gwt.dev.javac.TypeOracleMediator.addNewTypes(TypeOracleMediator.java:439) 
at com.google.gwt.dev.javac.TypeOracleMediatorFromSource.addNewUnits(TypeOracleMediatorFromSource.java:52) 
at com.google.gwt.dev.javac.CompilationState.assimilateUnits(CompilationState.java:164) 
at com.google.gwt.dev.javac.CompilationState.<init>(CompilationState.java:82) 
at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:450) 
at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) 
at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360) 
at com.google.gwt.dev.Precompile.precompile(Precompile.java:252) 
at com.google.gwt.dev.Precompile.precompile(Precompile.java:233) 
at com.google.gwt.dev.Precompile.precompile(Precompile.java:145) 
at com.google.gwt.dev.Compiler.run(Compiler.java:232) 
at com.google.gwt.dev.Compiler.run(Compiler.java:198) 
at com.google.gwt.dev.Compiler$1.run(Compiler.java:170) 
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88) 
at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82) 
at com.google.gwt.dev.Compiler.main(Compiler.java:177) 
    [ERROR] Annotation error: expected class java.lang.Class, got null 

我GreetingsPlace類是這樣的:

public class GreetingsPlace extends Place { 
    private String GreetingsPlaceName; 

    public GreetingsPlace(String place) { 
    this.GreetingsPlaceName = place; 
    } 

    public String getGreetingsPlaceName() { 
    return GreetingsPlaceName; 
    } 

    public static class Tokenizer implements PlaceTokenizer<GreetingsPlace> { 

    @Override 
    public String getToken(GreetingsPlace place) { 
     return place.getGreetingsPlaceName(); 
    } 

    @Override 
    public GreetingsPlace getPlace(String token) { 
     return new GreetingsPlace(token); 
    } 
    } 
} 

AppPlaceHistoryMapper是這樣的:

@WithTokenizers({ 
    HelloPlace.Tokenizer.class, 
    GoodbyePlace.Tokenizer.class, 
    GreetingsPlace.Tokenizer.class, 
    ManagerPlace.Tokenizer.class, 
    UserPlace.Tokenizer.class 
    }) 
public interface AppPlaceHistoryMapper extends PlaceHistoryMapper { 
} 

也許我失去了一些東西。 .. 誰能幫我?提前致謝!

+2

你用'javac'編譯代碼了嗎?看起來像這[一個]相同的問題(http://groups.google.com/group/google-web-toolkit/browse_thread/thread/ad60dd83580f03f1)。 – foch 2012-02-17 21:03:15

+0

非常感謝!我忘了在GWT編譯之前重建項目,在Eclipse中關閉自動重建。 – ferbolg 2012-02-19 15:21:43

回答

0

您Sholud添加GWT項目到類路徑在Eclipse 運行configurationi(在用戶類路徑條目) klikd按鈕「添加項目。」並檢查您的GWT項目。 應用運行配置 和運行

Othere settins是

主要類:com.google.gwt.dev.codeserver.CodeServer

精氨酸:ZA CodeServer klasso 計劃Argumennts:-bindAddress 0.0.0.0 com.ajna4taiga.recycling.YourGWTModule VM參數:-Xmx1024m

Classpath還應該有src GWT項目 類路徑的 用戶條目 高級(按鈕) 高級文件夾(添加GWT項目的src目錄下) Applay保存運行配置

類路徑也應該有 GWT-servercode.jar gwt- dev.jar gwt-user.jar驗證-api-1.0.0.GA.jar驗證-api-1.0.0.GA-sources.jar mgwt-2.0.0.jar

mgwt如果你有mgwt項目Daniel Kurka。如果你只是gwt proje那麼你不需要 需要mgwt-2.0.0.jar