在Spring-boot上运行服务器时,以dev模式启动GWT

时间:2014-07-20 13:14:20

标签: gwt spring-boot gwt-dev-mode

我使用Spring boot和gwt 2.6.0创建了Web应用程序。

更改了生成文件的位置:

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>${gwt.plugin.version}</version>
            <executions>
                <execution>
                    <configuration>
                        <module>my.module</module>
                        <webappDirectory>src/main/resources/gwt-public/</webappDirectory>
                    </configuration>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

如果独立运行我的应用程序,一切正常,因为所有需要的文件都可以访问。

但问题是 - 如何在开发模式下运行GWT(来自Intellij IDEA)。我试图在-noserver模式下运行它,它启动但在浏览器中没有任何东西。

据我所知,我需要指定dev插件使用的war目录,这意味着我需要明确地将包装设置为war?我没有明确的想法。

2 个答案:

答案 0 :(得分:0)

你可以编译一个war,运行服务器然后运行gwt debug,但是在浏览器打开之后将url更改为localhost:xxxx,无论spring正在运行,但保留servercode = 127.0.0.1。

或者您可以在编译的maven插件上使用gwt:debug。 在这里看:http://mojo.codehaus.org/gwt-maven-plugin/debug-mojo.html

答案 1 :(得分:0)

我通过将此添加到您的gwt-maven-plugin配置中来实现此目的:

<superDevMode>false</superDevMode>

如果您打算按照Zerkotin的建议更改网址,那么我提供了这个额外的属性:

<noServer>true</noServer>

阻止mvn-gwt-plugin启动嵌入式Jetty实例。但是这不允许我在运行中重新编译。

为了让它在超级开发模式下工作,我在我的gwt-maven-plugin配置中设置了它:

真 真

然后我正常启动Spring Boot(使用java -jar myweb.jar)。然后我启动了maven gwt插件(mvn gwt-debug),将IntelliJ附加到调试器(使用远程),转到代码服务器URL(不是我的应用程序URL),设置那些书籍标记,然后转到我的应用程序URL,当我想重新编译时,我只是点击那些书签。