我使用生成器在我的GWT客户端应用程序中生成了很多实用程序类。
由于某些原因,在重新绑定时,我得到了一个ClassNotFoundExceotion,它声明它找不到特定的类:
Could not load deferred binding result type 'fr.orange.livebox.gui.businessmodelfactory.json.networks.wan.DataBinder_RoadWarriorVPN_Impl'当我在generated/fr/orange/livebox/gui/buisinessmodelfactory/json/networks/wan/中查看生成的类时,我发现文件存在,但是它包含一个完全不同的类的声明,这是在它之前的回弹(前一个类在主页上反弹,而这个类是在另一个页面上反弹)。
我只是不明白为什么GWT应该在其中放置错误的类文件。我尝试过删除生成的文件,但每次都会这样做。
顺便说一句,在错误的文件中找到的类已经在它自己的文件中正确地生成了,我可以在这两个文件中看到它,这是非常奇怪的。
发布于 2013-08-08 12:46:08
问题是,生成器被实例化一次,每次在同一个实例上再次调用generate方法,从而有效地缓存任何属性。我使用一个缓存的ClassSourceFileComposerFactory实例和一个名为getComposer()的方法,该方法将检查null (如果是)是否实例化,否则检查return。这就留下了一个缓存的ClassSourceFileComposerFactory,它始终具有相同的类。
https://stackoverflow.com/questions/18123181
复制相似问题