我正在尝试运行GWT RequestFactory并面临此错误:
ClassNotFoundException: org.slf4j.LoggerFactory
Run Code Online (Sandbox Code Playgroud)
我试图下载slf4j-api-1.3.1.jar,但它没有解决问题
知道我需要下载哪个罐子?
我们偶尔会遇到例外情况,例如:
com.google.gwt.user.client.rpc.SerializationException:类型"xxx"无法分配给"com.google.gwt.user.client.rpc.IsSerializable",并且没有自定义字段序列化程序.出于安全考虑,此类型不会序列化:com.google.gwt.user.client.rpc.impl中的com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:610)中的instance = xxx .AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)维持在com.google.gwt.user.server com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter $ ValueWriter $ 8.write(ServerSerializationStreamWriter.java:152). rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:534)位于com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:609)位于com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:467)com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.的java:564)在com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)在de.softconex.travicemanager.server.TraviceManagerServiceImpl.processCall(TraviceManagerServiceImpl.java:615)在com.google .gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)在com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)在javax.servlet.http.HttpServlet .service(HttpServlet.java:710)位于org.apache.catalina.core.ApplicationFilterChain的javax.servlet.http.HttpServlet.service(HttpServlet.java:803).internalDoFilter(ApplicationFilterChain.java:290)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)在组织位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)的.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve) .java:230)在org.jboss的org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179). org.apache.catalina上的web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84).core.StandardHostValve.invoke(StandardHostValve.java:127)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve. java:157)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)at org.apache.coyote.ajp .AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java:378)在org.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint .java:1508)在java.lang.Thread.run(Thread.java:619)调用(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler .process(AjpAprProtocol.java:378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)调用(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler .process(AjpAprProtocol.java:378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java: 378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java: 378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)
该应用程序通常正常运行.指示的类实现Serializable(整个对象图).
到目前为止,唯一的模式/观察是:
我们似乎只有在iframe中使用应用程序时才会遇到问题
当部署了新版本的应用程序时,似乎会出现问题
在隐私模式下运行firefox(禁用所有缓存等)并不能解决问题
有任何想法吗?
霍尔格
What is the best way to wait for multiple asynchronous callback functions to finish in Java before continuing. Specifically I'm using GWT with AsyncCallback, but I think this is a generic problem. Here's what I have now, but surely there is cleaner way...
AjaxLoader.loadApi("books", "0", new Runnable(){
public void run() {
bookAPIAvailable = true;
ready();
}}, null);
AjaxLoader.loadApi("search", "1", new Runnable(){
public void run() {
searchAPIAvailable = true;
ready();
}}, null);
loginService.login(GWT.getHostPageBaseURL(), new AsyncCallback<LoginInfo>() {
public void onSuccess(LoginInfo result) { …Run Code Online (Sandbox Code Playgroud) 早上第一件事,就在我打开电脑(Windows XP)并启动我的Eclipse之后,它只是显示启动画面然后冻结.大约20分钟后,它会问我要加载哪个工作区.
问题出现在3.5和3.6 Eclipse中.使用3.6 Eclipse安装我只有标准的PDE install + Google插件(用于GWT开发)+ Subclipse.
因为我已将其配置为向我询问工作空间,我可以看到它不是工作空间或项目相关.
我怀疑谷歌插件,因为我在安装之前没有遇到任何问题但是我已经搜索过并且没有遇到任何报告类似问题的人.
它只执行一次 - 在我早上打开机器后直接执行此操作.在此之后它开始很好 - 通常在几秒钟内.
有什么可能做的?我怎样才能知道它在做什么?
我的公司正试图从.NET应用程序迁移到纯粹基于Web的东西,而且非常"a".原始的.NET应用程序相当具有交互性,就用户交互而言大致相当于谷歌地图(缩放,平移,注释矢量地图上的功能).
我们的.NET开发人员真的使用Flex2.我承认有一个非常强大的Java偏见.我也有大约一年的GWT经验,可以很快完成任务.我们的代码库主要是J2EE,所以GWT似乎很适合我.我没有使用Flex的经验,所以我真的无法建议或反对它
我们选择框架的主要兴趣如下:
注意权衡这两种技术的优缺点,甚至推荐第三种选择?
如何在GWT中格式化我的字符串?
我做了一个方法
Formatter format = new Formatter();
int matches = 0;
Formatter formattedString = format.format("%d numbers(s, args) in correct position", matches);
return formattedString.toString();
Run Code Online (Sandbox Code Playgroud)
但它抱怨道
Validating newly compiled units
[ERROR] Errors in 'file:/C:/Documents%20and%20Settings/kkshetri/workspace/MasterMind/MasterMind/src/com/kunjan/MasterMind/client/MasterMind.java'
[ERROR] Line 84: No source code is available for type java.util.Formatter; did you forget to inherit a required module?
Run Code Online (Sandbox Code Playgroud)
不包括Formatter吗?
我一直在阅读GWT中一堆"最高投票"的问题.其中一些问题涉及GWT的缺陷或问题.
在文章中:哪个Javascript框架(jQuery vs Dojo vs ...)?而最大的GWT陷阱?,一些海报似乎表明GWT不够轻,或者有更好的替代品可以使用.
你们中的大多数人都觉得GWT有问题没有用GWT 2.0修复 - 这会让你倾向于建议在新项目中使用更简单的框架吗?
在某种程度上,GWT不应该在某种程度上面向未来(因为你不必担心它在发布之间发生巨大变化,因为它得到谷歌的支持)?
我意识到这个问题的答案在很大程度上取决于你想做什么或你想做什么.我从启动一个最终将被数百万用户使用的新Web应用程序的角度来看这个.
GWT的序列化程序java.io.Serializable支持有限,但出于安全考虑,它支持的类型为白名单.我找到的文档,例如此FAQ条目表示您要序列化的任何类型"必须包含在序列化策略白名单中",并且列表是在编译时生成的,但不解释编译器如何决定什么在白名单上.
生成的列表包含许多属于标准库的类型,例如java.lang.String和java.util.HashMap.尝试序列化时出现错误java.sql.Date,该错误实现了Serializable接口,但不在白名单中.如何将此类型添加到列表中?
我确信Wave不会每毫秒轮询一次服务器,以确定其他用户是否输入了某些东西......那么我怎样才能看到对方输入的内容?而且不会占用带宽.
我使用GWT RPC和Hibernate使用eclipse环境从MySQL插入和检索数据.我在服务接口中编写了两个方法来插入和检索单个MySQL表中的数据.
该程序运行正常,但它提出了这个例外.
Exception in thread "UnitCacheLoader" java.lang.RuntimeException: Unable to read from byte cache
at com.google.gwt.dev.util.DiskCache.transferFromStream(DiskCache.java:166)
at com.google.gwt.dev.util.DiskCacheToken.readObject(DiskCacheToken.java:87)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.google.gwt.dev.javac.PersistentUnitCache.loadUnitMap(PersistentUnitCache.java:493)
at com.google.gwt.dev.javac.PersistentUnitCache.access$000(PersistentUnitCache.java:92)
at com.google.gwt.dev.javac.PersistentUnitCache$UnitCacheMapLoader.run(PersistentUnitCache.java:122)
Caused by: java.io.StreamCorruptedException: unexpected EOF in middle of data block
at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
at java.io.ObjectInputStream.read(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) gwt ×10
java ×7
ajax ×2
apache-flex ×1
eclipse ×1
google-wave ×1
gwt-rpc ×1
html5 ×1
http ×1
javascript ×1
plugins ×1
rpc ×1
serializable ×1
slf4j ×1
startup ×1
whitelist ×1