Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gwt 开始使用SuperDevMode_Gwt - Fatal编程技术网

Gwt 开始使用SuperDevMode

Gwt 开始使用SuperDevMode,gwt,Gwt,我只想使用superDevMode运行一个简单的应用程序,了解它的好处。CodeServer已成功启动,但它抱怨UI中没有要编译的gwt模块。我遵循以下步骤 我从GWT默认代码开始,它将在我们创建新项目时生成。然后我将其转换为Maven项目 然后我修改了gwt.xml文件以添加链接器。这是我的gwt.xml的副本 <module rename-to='superdevmode'> <inherits name='com.google.gwt.user.User' /> &

我只想使用superDevMode运行一个简单的应用程序,了解它的好处。CodeServer已成功启动,但它抱怨UI中没有要编译的gwt模块。我遵循以下步骤

  • 我从GWT默认代码开始,它将在我们创建新项目时生成。然后我将其转换为Maven项目
  • 然后我修改了gwt.xml文件以添加链接器。这是我的gwt.xml的副本

    <module rename-to='superdevmode'>
    <inherits name='com.google.gwt.user.User' />
    <inherits name='com.google.gwt.user.theme.clean.Clean' />
    <entry-point class='superDevMode.client.SuperDevMode' />
    <add-linker name="xsiframe" />
    <set-configuration-property name="devModeRedirectEnabled"
    value="true" />
    </module>
    
    当我启动UI时,我得到以下信息

    但是当我点击devmodeon时,我得到了以下信息

    我不知道我做错了什么。我的POM条目如下所示

                  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>superDevMode</groupId>
    <artifactId>superDevMode</artifactId>
    <version>0.0.1-SNAPSHOT</version>
                 </project>
    
    
    4.0.0
    超devmode
    超devmode
    0.0.1-快照
    

    如果我错了,请纠正我。

    这里有一个很好的解释来解释这是如何工作的:

    您需要将小册子拖到浏览器中。然后像平常一样启动应用程序。在浏览器中打开应用程序,不带“?gwt.codesvr=127.0.0.1:9997”部分。现在,您可以使用小册子启动SuperDevMode


    希望这能有所帮助。

    更新:v2.6看起来会有一个更好的superdevmode启动器示例(请参见superdevmode下的),2.6现在随时都会发布。我用的是RC3,看起来不错。详情如下:


    虽然我很欣赏Thomas的文章中关于SuperDevMode如何工作的细节,但真正需要的是一个带有一些故障排除的分步指南

    这是一个循序渐进的过程。有那么多地方会出错,而且问题也不是很具体。希望这能说明:

  • 使用其他行配置module.gwt.xml文件(您应该将其放在模块定义的底部,即在
    之前):
  • 
    
  • 运行标准GWT编译过程-在Eclipse中,这是“GWT编译项目…”-这是部署GWT代码时通常要做的事情。毫无疑问,您有一个maven或ant命令也可以做到这一点

  • 启动开发GWT代码时通常使用的常规Web服务器。例如,您将普通DevMode用于。我将这一个称为localhost:8888-我假设您通常启动的页面是index.html,所以
    http://localhost:8888/index.html
    显示您的GWT应用程序。(通常情况下,该URL中可能有
    ?gwt.codesvr=127.0.0.1:9997

  • 启动SuperDevMode服务器(有关两种方法,请参阅此答案的底部)。现在有两个Web服务器在不同的端口上运行。因此,假设SuperDevMode正在
    localhost:1234
    上运行。在这个答案的底部,我发布了一些启动SuperDevMode的方法

  • 将浏览器指向SuperDevMode服务器,以便
    http://localhost:1234
    。按照说明将两个快捷方式复制到地址栏

  • 现在,将浏览器指向常规Web服务器,
    http://localhost:8888/index.html
    -不要将
    ?gwt.codesvr=127.0.0.1:9997
    添加到URL-这仅适用于NotSuper DevMode。(即常规DevMode)

  • 单击在步骤5中复制的快捷链接“DevMode on”。它应该要求您选择要编译的模块,单击编译按钮

  • 如果您想要sourcemaps(请在Chrome脚本浏览器中查看java源代码),必须在Chrome中打开它。在我的Chrome(Ubuntu)版本中,Chrome控制台的右下角有一个小齿轮(检查元素,然后查看浏览器窗口的右下角)。单击该按钮并找到“启用源地图”。重新加载页面,它现在应该会显示源代码


  • 启动超级开发模式的两种方法:

    从命令行 从月食Laucher 在Eclipse中,使用以下配置创建一个新的Java应用程序启动器(不是Web应用程序启动器!):

    -src src/main/java/ -src ${workspace_loc:MyNewModule}/src/main/java/ com.foo.MyModule
    
    主类:

    com.google.gwt.dev.codeserver.CodeServer
    
    程序参数:

    -src src -workDir ${workspace_loc:MyProject}/codeserver -port 1234 com.foo.MyModule
    
    -workDir
    是可选的

    VM参数(可能需要这些参数,具体取决于项目的大小。如果superdevmode“Compile”按钮(在浏览器中)在单击后立即消失,并且似乎什么也没有发生,则可能是因为内存不足而崩溃)


    类路径:将gwt-codeserver.jar、gwt-dev.jar和gwt-user.jar添加到启动类路径(这些jar位于gwt SDK安装目录中)

    我采取了稍微不同的方法。我从现有的开始,然后将其配置为在超级开发模式下工作

    A.将hello项目的war构建并部署到tomcat中

    B.在Hello项目的build.xml中添加一个目标

    <target name="codeserver" depends="javac" description="Run Code Server mode">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
            <classpath>
                <pathelement location="src"/>
                <path refid="project.class.path"/>
                <pathelement location="../../gwt-codeserver.jar" />
                <pathelement location="../../validation-api-1.0.0.GA.jar" />
                <pathelement location="../../validation-api-1.0.0.GA-sources.jar" />
            </classpath>
            <jvmarg value="-Xmx1024M"/>
            <arg value="-bindAddress"/>
            <arg value="0.0.0.0"/>
            <arg line="-port"/>
            <arg value="9876"/>
            <arg value="-workDir"/>
            <arg value="workDir"/>
            <arg line="-src"/>
            <arg value="src"/>
            <arg value="com.google.gwt.sample.hello.Hello"/>
        </java>
    </target>
    
    
    


    对于多模块maven gwt项目,您需要在运行配置中添加源位置(基本项目和模块):

    -src src/main/java/ -src ${workspace_loc:MyNewModule}/src/main/java/ com.foo.MyModule
    

    感谢链接Arne!;-)我按照文档操作,但仍然无法启动该应用程序。我的设置如上所示。如果你能指出我的错误,那么当你点击书签时,你仍然是codeserver站点的一员,这会很有帮助。您需要位于运行Web应用程序的网站上。对我来说,这些步骤是:1。启动代码服务器2。启动webapp3。在浏览器中打开webapp(通常为端口8888)4。单击codeserver书签进行快速编译您可能已经找到了答案,或者现在已经放弃了,但我回答了这个问题,并向其他正在努力的人做了一个完整的总结。在您的情况下,您需要执行步骤3-这意味着运行两个web服务器(一个是superdevmode codeserver,另一个像运行常规gwt应用程序一样提供典型的项目html文件),这是epic。您是否有类似的多模块maven g分步指南
    <target name="codeserver" depends="javac" description="Run Code Server mode">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
            <classpath>
                <pathelement location="src"/>
                <path refid="project.class.path"/>
                <pathelement location="../../gwt-codeserver.jar" />
                <pathelement location="../../validation-api-1.0.0.GA.jar" />
                <pathelement location="../../validation-api-1.0.0.GA-sources.jar" />
            </classpath>
            <jvmarg value="-Xmx1024M"/>
            <arg value="-bindAddress"/>
            <arg value="0.0.0.0"/>
            <arg line="-port"/>
            <arg value="9876"/>
            <arg value="-workDir"/>
            <arg value="workDir"/>
            <arg line="-src"/>
            <arg value="src"/>
            <arg value="com.google.gwt.sample.hello.Hello"/>
        </java>
    </target>
    
    -src src/main/java/ -src ${workspace_loc:MyNewModule}/src/main/java/ com.foo.MyModule