Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT-CSS文件的ClientBundle不使用类名_Css_Gwt_Classname_Clientbundle_Cssresource - Fatal编程技术网

GWT-CSS文件的ClientBundle不使用类名

GWT-CSS文件的ClientBundle不使用类名,css,gwt,classname,clientbundle,cssresource,Css,Gwt,Classname,Clientbundle,Cssresource,我有一个GWT问题 我正试图将我的css作为CssResource移动到ClientBundle,因为它声称这是最佳实践,但存在一个问题。它可以处理元素ID和元素名称,但不能处理类名。所以当我有 div{ color: red; } #whatever_id{ color: black; } 但是如果我添加一个带有点(.)的类名 然后我得到了以下结论 onModuleLoad() threw an exception Exception while loading mod

我有一个GWT问题

我正试图将我的css作为CssResource移动到ClientBundle,因为它声称这是最佳实践,但存在一个问题。它可以处理元素ID和元素名称,但不能处理类名。所以当我有

div{
   color: red;
}
#whatever_id{
   color: black;
}
但是如果我添加一个带有点(.)的类名

然后我得到了以下结论

onModuleLoad() threw an exception

    Exception while loading module com.acatime.edutime.client.edutime. See Development Mode for details.



java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:411)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
        at java.lang.Thread.run(Thread.java:744)
    Caused by: java.lang.ExceptionInInitializerError
        at com.acatime.edutime.client.edutime.onModuleLoad(edutime.java:29)
        ... 9 more
    Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.acatime.edutime.client.resources.GeneralResources' (did you forget to inherit a required module?)
        at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
        at com.google.gwt.core.shared.GWT.create(GWT.java:72)
        at com.google.gwt.core.client.GWT.create(GWT.java:86)
        at com.acatime.edutime.client.resources.GeneralResources.<clinit>(GeneralResources.java:11)
        ... 10 more
    Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
        at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:610)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:470)
        at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
        ... 13 more
onModuleLoad()引发了异常
加载模块com.acatime.edutime.client.edutime时发生异常。有关详细信息,请参见开发模式。
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:411)
位于com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
位于com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
在com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
运行(Thread.java:744)
原因:java.lang.ExceptionInInitializeError
位于com.acatime.edutime.client.edutime.onModuleLoad(edutime.java:29)
... 9更多
原因:java.lang.RuntimeException:com.acatime.edutime.client.resources.GeneralResources的延迟绑定失败(是否忘记继承所需的模块?)
位于com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
位于com.google.gwt.core.shared.gwt.create(gwt.java:72)
位于com.google.gwt.core.client.gwt.create(gwt.java:86)
位于com.acatime.edutime.client.resources.GeneralResources。(GeneralResources.java:11)
... 10多
原因:com.google.gwt.core.ext.UnableToCompleteException:(参见前面的日志条目)
位于com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:610)
在com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate上(ModuleSpace.java:470)
位于com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
... 还有13个

知道我遗漏了什么吗?

以前,类名中包含下划线时会出现问题。尝试不带下划线的类名。

谢谢Andrei和Braj的回答。我找到了我丢失的东西

从一开始我没有得到的是,我添加了类名,如下所示:

myWidget.setStyleName("whateverClassname);
这显然就是问题所在。看起来,当您通过ClientBundle/CssResource使用CSS时,您必须指定类名,如下所示:

myWidget.setStyleName("whateverClassname);
myWidget.setStyleName(MyResources.INSTANCE.myCss().whateverClassname())


爸爸,突然间一切都正常了:)我希望现在这是为GWT应用程序添加风格的正确方法。我是GWT的新手,尝试遵循GWT网站上推荐的最佳实践

顺便说一下,我不同意将ClientBundle用于CSS是最佳实践。单个CSS文件更易于维护,您不需要重新编译代码来进行小的更改,设计师也可以直接使用它-这些都是保留CSS文件的好理由。您是否更改了
Java CssResource
以及
ui.xml
文件中的
任何类名
?也许你错过了正确地绘制地图。