gpt4 book ai didi

gwt - 升级到 gwt 2.6 后 SuperDevMode 不工作

转载 作者:行者123 更新时间:2023-12-03 20:51:41 29 4
gpt4 key购买 nike

我已经将 gwt 2.5.1 升级到 2.6,自 super 开发模式启动以来,我可以在 myApp:9876 看到书签,模块加载,但是当我点击“开发模式开启”时没有“编译”按钮”。代码服务器加载正常,我可以看到正在编译的排列。

build.xml 的相关部分:

<property name="cpstring" value="${toString:gwt-codeserver}" />
<target name="sdevmode" depends="build-dev">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
<classpath>
<pathelement path="${cpstring}" />
</classpath>
<jvmarg value="-Dorg.mortbay.util.FileResource.checkAliases=false" />
<jvmarg value="-Xmx2g" />
<jvmarg value="-XX:MaxPermSize=256M" />
<jvmarg value="-XX:+UseParallelGC" />
<arg value="-bindAddress" />
<arg value="0.0.0.0" />
<arg value="-src" />
<arg value="${basedir}" />
<arg value="-workDir" />
<arg value="/tmp/test" />
<arg value="path.to.dev" />
</java>
</target>


<!-- Super Dev Mode -->
<add-linker name="xsiframe" />
<set-property name="compiler.useSourceMaps" value="true" />
<set-configuration-property name="devModeRedirectEnabled" value="true" />
<set-configuration-property name="gwt.superdevmode" value="on" />
<set-configuration-property name="devModeUrlWhitelistRegexp" value=".*" />

当我检查 super 开发模式 div 时,我看到一个标题为“此模块未启用 super 开发模式”的 li 元素。源映射也不加载(服务器错误:500)。有什么想法吗?

顺便说一句:从 intelliJ 13.1 启动的 super 开发模式也停止使用此更新(我还将 SDK 更新到 2.6,这没有什么区别)。我没有更改配置:

vmoptions: -Xmx2g
devmode params: -bindAddress 0.0.0.0 -src path.to.my.src

Gwtmodule 在我的开发模块加载点并检查 superdevmode。我得到的异常;

java.lang.RuntimeException: not found: includeSourceMapUrl
at com.google.gwt.dev.codeserver.Recompiler.overrideConfig(Recompiler.java:314)
at com.google.gwt.dev.codeserver.Recompiler.loadModule(Recompiler.java:254)
at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:105)
at com.google.gwt.dev.codeserver.ModuleState.<init>(ModuleState.java:58)
at com.google.gwt.dev.codeserver.CodeServer.makeModules(CodeServer.java:120)
at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:95)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:71)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

不幸的是,我找不到太多关于它为什么会发生的信息。 IntelliJ super 开发模式配置: enter image description here

最佳答案

我的一位同事深入了解了这件事。主要问题是在 2.6 中禁用了 https 上的 superdevmode,这在早期版本中并非如此。以下是通过 https 在 GWT 2.6 上运行 superdevmode 和源映射的调整列表:

  1. 定义一个在 ssl 页面上启用的自定义链接器:

    公共(public)类 MyLinker 扩展 CrossSiteIframeLinker {

    @Override
    protected String getJsDevModeRedirectHookPermitted(LinkerContext context) {
    return "$wnd.location.protocol == \"http:\" " +
    "|| $wnd.location.protocol == \"https:\" " +
    "|| $wnd.location.protocol == \"file:\"";
    } }
  2. 将其包含在您的 .xml 中

    <define-linker name="xsiframe" class="mypath.MyLinker" /> <add-linker name="xsiframe" />
  3. 启用源 map :

    <set-property name="compiler.useSourceMaps" value="true" />
    <set-property name="compiler.useSymbolMaps" value="true"/>

  4. 如果您不在本地主机上工作,请将白名单正则表达式添加到您的 dev.xml:

    <set-configuration-property name="urlWhitelistingRegexp" value="http://(.*\.myDesktop\.myDomain|localhost)(:\d+)?/.*" />

  5. 确保您的 gwt 代码服务器在路径中。

张贴答案希望有一天,有人会发现它有用。

关于gwt - 升级到 gwt 2.6 后 SuperDevMode 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26013716/

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