1

我使用 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?我对此没有明确的想法。

4

2 回答 2

1

您可以编译一个战争,运行服务器,然后运行 ​​gwt 调试,但是在浏览器打开后,将 url 更改为 localhost:xxxx,无论 spring 正在运行什么,但保持 servercode=127.0.0.1 不变。

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

于 2014-07-20T13:21:29.257 回答
0

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

<superDevMode>false</superDevMode>

如果您要按照 Zerkotin 的建议更改 URL,那么我提供了这个附加属性:

<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,然后当我想重新编译时,我只需点击那些书签。

于 2015-09-26T22:05:01.790 回答