- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好!我正在尝试根据 google 的“GWT 开发与 Activity 和地点”一文的教程示例创建一个项目。我创建了几个地方,每个地方都有一个 Tokenizer 类。当我尝试编译项目时,收到以下错误:
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 {
}
也许我遗漏了什么...有人可以帮助我吗?提前致谢!
最佳答案
您应该将 GWT 项目添加到 Eclipse 中的类路径中运行 configurationi(用户条目下的类路径)单击“添加项目..”按钮并检查您的 GWT 项目。应用运行配置并运行
其他设置是
主类:com.google.gwt.dev.codeserver.CodeServer
Arg: za CodeServer类程序参数:-bindAddress 0.0.0.0 com.ajna4taiga.recycling.YourGWTModule虚拟机参数:-Xmx1024m
Classpath 还应该有你的 GWT 项目的 src类路径用户条目前进(按钮)高级文件夹(添加 GWT 项目的 src 目录)Appplay 保存运行配置
类路径也应该有gwt-servercode.jar gwt-dev.jar gwt-user.jar validation-api-1.0.0.GA.jar validation-api-1.0.0.GA-sources.jar mgwt-2.0.0.jar
mgwt 如果你有 Daniel Kurka 的 mgwt 项目。如果你只有 gwt proje 那么你就没有需要mgwt-2.0.0.jar
关于java - 无法创建 PlaceTokenizer 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9330231/
大家好!我正在尝试根据 google 的“GWT 开发与 Activity 和地点”一文的教程示例创建一个项目。我创建了几个地方,每个地方都有一个 Tokenizer 类。当我尝试编译项目时,收到以下
我真的不明白 PlaceTokenizer 是做什么的?他是否将一个地方的类名转换成一个字符串,以便 gwt 历史机制可以使用它把它放到浏览器的 url 中?这就是我的理解,但我不确定这是否正确。 最
我是一名优秀的程序员,十分优秀!