首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT AutoBean类别

GWT AutoBean类别
EN

Stack Overflow用户
提问于 2013-04-18 16:26:05
回答 1查看 371关注 0票数 0

我正在尝试让AutoBean中的@Category(类)正常工作。

我有一个简单的工厂

代码语言:javascript
复制
import com.google.web.bindery.autobean.shared.AutoBean;
import com.google.web.bindery.autobean.shared.AutoBeanFactory.Category;

@Category(TestCategory.class)
public interface TestFactory {
    AutoBean<Test> test();
}

和Category类

导入com.google.web.bindery.autobean.shared.AutoBean;

代码语言:javascript
复制
public class TestCategory {
    public static String asString(AutoBean<Test> instance) {
        return "as a string";
    }
}

和测试接口。

代码语言:javascript
复制
public interface Test {
    String getValue();
    void setValue(String value);
    String asString();
}

这三个都在同一个包里。

当我尝试编译GWT项目时,我得到以下错误消息

代码语言:javascript
复制
 [java]    Resolving com.mycompany.my_gwt_project.client.test.TestFactory
 [java]       Found type 'com.mycompany.my_gwt_project.client.test.TestFactory'
 [java]          [ERROR] Annotation error: cannot resolve com.mycompany.my_gwt_project.client.test.TestCategory
 [java]    java.lang.ClassNotFoundException: com.mycompany.my_gwt_project.client.test.TestCategory
 [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 [java]     at java.security.AccessController.doPrivileged(Native Method)
 [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 [java]     at java.lang.Class.forName0(Native Method)
 [java]     at java.lang.Class.forName(Class.java:249)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotationValue(TypeOracleMediator.java:750)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotationValue(TypeOracleMediator.java:689)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.createAnnotation(TypeOracleMediator.java:498)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotation(TypeOracleMediator.java:648)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotations(TypeOracleMediator.java:663)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.resolveClass(TypeOracleMediator.java:809)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediator.addNewTypes(TypeOracleMediator.java:439)
 [java]     at com.google.gwt.dev.javac.TypeOracleMediatorFromSource.addNewUnits(TypeOracleMediatorFromSource.java:52)
 [java]     at com.google.gwt.dev.javac.CompilationState.assimilateUnits(CompilationState.java:164)
 [java]     at com.google.gwt.dev.javac.CompilationState.<init>(CompilationState.java:82)
 [java]     at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:466)
 [java]     at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:388)
 [java]     at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:373)
 [java]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:246)
 [java]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
 [java]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
 [java]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)
 [java]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)
 [java]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
 [java]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
 [java]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
 [java]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)
 [java]          [ERROR] Annotation error: expected class java.lang.Class, got null

有人有什么线索吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-18 21:02:53

您必须对类执行javac操作,并将它们包含在DevMode的类路径中。

不幸的是,这是GWT当前设计的一个已知限制:https://code.google.com/p/google-web-toolkit/issues/detail?id=7602

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16077985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档