我被困了一段时间试图找出为什么我的GWT演示应用程序无法在托管模式下工作所以我回去再次下载Google Web Toolkit,解压缩它并直接进入samples目录然后跑“蚂蚁托管”。托管浏览器启动并仅显示静态html内容,但不显示动态生成的js小部件等。但是,当我单击“编译/浏览”时,示例将在Firefox中正确启动。我的设置/环境可能出现什么问题?
答案 0 :(得分:0)
我按照您提供的链接下载gwt。提取并运行样本/ Hello,samples / DynaTable和samples / Showcase下的“ant hosted”,它们都成功运行。我也在运行Windows XP和java 1.6.0_11。
我认为运行“ant hosted”会启动一个侦听端口8888的嵌入式Jetty服务器。托管模式浏览器向该嵌入式服务器发出请求,例如:http://localhost:8888/Showcase.html。
此外,当您单击“编译/浏览”时,它会打开您的默认浏览器(在我的情况下是firefox),它会尝试向托管模式浏览器使用的相同嵌入式Jetty服务器发出请求。
因此,如果它在您的浏览器中有效,则浏览器将连接到嵌入式jetty服务器。托管模式无法正常工作,但您可以在浏览器中查看,这一点非常奇怪。
我认为这里的区别在于托管模式运行纯java(某种javascript模拟器,我不确定我理解100%),而浏览器运行javascript。
因此,我建议对运行“ant hosted”时启动的jvm进行故障排除。也许当你在托管模式浏览器中加载jvm时内存不足或什么?也许你可以将一些jvm args传递给ant脚本来解决问题?
抱歉,我不能更具体,那是一个奇怪的人!
答案 1 :(得分:0)
@Chris:我怀疑这个问题可能与你之前的question有关,如果它与你正在使用的同一台计算机上有关。解决方案可能是清除IE缓存,因为它倾向于缓存“脚本”标记内容,当它导入其他东西时它早先搞砸了,它可能仍然在IE中。在此link找到了可能的答案。
答案 2 :(得分:0)
我创建了一个新工作区,重新导入所有内容并使用了GWT 1.6.x(因为Ext GWT 2.X,我需要这个项目需要GWT 1.6.x)。这就行了......现在一切正常。
答案 3 :(得分:-1)
我能想到的主要区别是,在编译/浏览器中,您打开html主机页面就像常规文件一样,而在托管模式下(即使在客户端示例中)它也必须由http服务器提供通过localhost:8080。检查服务器是否正在启动。