gpt4 book ai didi

java - 为什么我的小代码更改不会在应用引擎 (GAE/GWT) 中生效? (onModuleLoad() 没有发生?!)

转载 作者:行者123 更新时间:2023-11-30 09:46:58 25 4
gpt4 key购买 nike

我刚刚开始一个新的 GAE 项目,我看到自从我上次使用它以来他们已经对 SDK 做了一些修饰。在 my_server.java 中,他们在 onModuleLoad() 顶部附近有一行代码,如下所示:

final Button sendButton = new Button("Send");

我把它改成了这样:

final Button sendButton = new Button("Send-X");

但是改变并没有发生。事实上,我添加了一个日志行:

log.log(Level.INFO, "button set");

这也没有显示在控制台中。这让我相信我的 onModuleLoad() 没有发生。然而,当我(本地)运行服务器时会出现旧按钮(“发送”),当我单击它时,所有处理程序代码似乎都在正确发生。

在你告诉我清除我的缓存之前,我可能也应该告诉你我在那里的愚蠢行为。

  • 我清除了浏览器缓存(尝试使用 Chrome 和 Safari。)
  • 我重新启动了服务器。
  • 为了确定,我什至退出并重新启动了 Eclipse!
  • 然后我在 war/ 中发现了一些缓存文件,所以我也删除了它们。
  • 这导致我现在在服务器启动时收到此消息:

    [WARN] 找不到文件:/my_server/F257245F8761687253A53003BCDAB6A7.cache.html

因此,虽然我的真正问题是:如何让我的代码更改(如重命名按钮)生效,但看起来我遇到了一些小问题(缓存、触发 onModuleLoad ()),我首先需要帮助。

谢谢!

最佳答案

我知道这个问题的海报已经转移了,但是为了其他可能偶然发现这个问题的人......

在 GWT 中,您需要将 Java 代码编译为 JavaScript,才能将其更改为浏览器。您可以通过以下两种方式中的一种来执行此操作。

1) 执行完整的 GWT 编译。在 Eclipse 中,您可以右键单击项目 -> Google -> GWT 编译。这会将所有 js 放在您的 webapp 目录中。然后运行|部署你的项目并通过网络浏览器访问它

2) 在 GWT 开发模式下运行,它将只编译您需要的 java 类。这种方法通常更容易开发,因为这种方法支持客户端断点。在 Eclipse 中右键单击项目 -> Run As|Debug As -> Web Application。那么一定要在 GWT 给你的 URL 上访问你的应用程序。该网址看起来像 http://127.0.0.1:8888/MyProject.html?gwt.codesvr=127.0.0.1:9997只要您使用此 url 运行您的应用程序,您就可以进行 java 更改,只需刷新应用程序的相关部分(在浏览器中)即可查看更改。

关于java - 为什么我的小代码更改不会在应用引擎 (GAE/GWT) 中生效? (onModuleLoad() 没有发生?!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com