【问题标题】:Super Dev Mode on a remote server远程服务器上的超级开发模式
【发布时间】:2012-12-12 13:55:10
【问题描述】:

我从事的项目非常具体。我们将 GWT 与 SAP 后端一起使用。我们使用以下配置运行开发模式(作为程序参数;我直接使用 IntelliJ IDEA 运行项目)

-noserver -logLevel INFO -startupUrl http://server-url:8000/aaa -whitelist ^http[:][/][/]server-url[.]eu[:]8000/aaa com.company.project.main.Main

注意,我们没有使用本地服务器 (-noserver)。

在熟悉了 Super Dev Mode 之后,我了解到它的工作方式类似于 GWT Web Mode,即它编译 JavaScript(可以指定要编译到的文件夹),然后运行托管该脚本的代码服务器。

由于项目的特殊性,编译好的 JavaScript 通过 WebDav 使用 maven 部署到远程服务器。因此,简单地将-workDir 指定为参数不会在远程服务器上部署脚本。我们也不能(至少目前)在server-url 地址上运行 Java 服务器。

在这种情况下我们可以使用超级开发模式吗?

【问题讨论】:

    标签: gwt gwt-super-dev-mode


    【解决方案1】:

    是的,你可以。

    编辑 2016-11-27: 我构建了一个开发服务器,可以使用 -launcherDir-style SuperDevMode 而无需写入服务器,通过使用类似 webpack 的代理:https://github.com/tbroyer/gwt-devserver

    编辑:有几个问题。延迟绑定属性。 SDM(自 GWT 2.7 起)的推荐用法是使用-launcherDir,这意味着使用本地服务器。

    SuperDevMode 的工作方式与 -noserver 的 DevMode 非常相似,这意味着您必须至少将应用部署到服务器一次。在 SuperDevMode 的情况下,这意味着您必须使用 xsiframe 链接器和设置为 truedevModeRedirectEnabled 属性进行编译和部署。

    然后你在你的机器上运行 SuperDevMode,如果还没有创建你的书签,从远程服务器加载你的应用,然后点击 Dev Mode On 书签。

    这将在浏览器的sessionStorage 中存储一些内容,以便重新加载页面现在将从您机器上运行的 SuperDevMode 加载排列,而不是远程服务器。

    有关 SuperDevMode 工作原理的更多信息:http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/

    【讨论】:

    • 但是我应该使用哪些参数来运行超级开发模式?我应该将其指定为-bindAddress server-url -port 8000 吗?如果我这样做,我会收到 java.net.BindException: Cannot assign requested address 和警告 failed SelectChannelConnector@server-url:8000
    • 答案是正确的,有可能。但是,我必须使用-bindAddress 0.0.0.0 运行 SuperDevMode。然后我打开提供的链接http://victor-dell:9876,我可以在其中拖动小书签。下一步是打开我的http://server-url:8000/aaa,然后单击“Dev Mode On”小书签。一旦我有了这些书签,我也可以跳过去http://victor-dell:9876
    • 如果没有-bindAddress,那么您只需访问localhost127.0.0.1 的代码服务器,它应该都可以正常工作。
    【解决方案2】:

    目前,我只看到一种可能的解决方案,即在 SAP 服务器上以某种方式运行 gwt-codeserver.jar(地址为 http://server-url:8000/bbb)并编写一个 servlet,它将所有请求重定向到 @987654323 @。然而,这并不容易实现。 SAP 服务器具有“棘手”的身份验证机制,用户首先看到登录页面,然后将他们重定向到生成的特定于会话的 URL。

    非常欢迎其他想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2013-08-22
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多