正如 gwt maven mojo 插件文档中所指定的,我在 eclipse->project properties->Google->Web application 中选择了 src/main/webapp 文件夹作为我的 war 目录。然后,当我尝试从 Eclipse 以开发模式运行我的 gwt 项目时,webapp 文件夹中的 html 文件被删除。经过一番调查,我能够通过将运行配置中的 -war 值修改为项目的目标文件夹来解决此问题。但是我现在面临的问题是,在开发模式下运行项目后,我每次都必须手动将html文件复制到目标目录才能使开发模式工作。谁能帮我确定我在这里缺少什么。如何将 webapp 文件夹设置为 war 目录并防止文件被删除?请帮忙。
5 回答
常见问题解答中解释了为 Eclipse 配置 Google 插件(使用 M2Eclipse)和运行 DevMode 的正确方法:http://web.archive.org/web/20130619170526/https: //developers.google.com/eclipse/docs /常见问题#gwt_with_maven
可能您必须将 copyWebapp 参数设置为 true 吗?
<configuration>
<style>PRETTY</style>
<strict>true</strict>
<runTarget>index.html</runTarget>
...
<copyWebapp>true</copyWebapp>
</configuration>
我也被这件事抓住了。如果您将 webapp 的静态文件放入“src/main/webapp”文件夹,如果未选中“设置”->“Web 应用程序”中的复选框,它们将被复制到目标文件夹(如果它是M2eclipse 项目)。
我将目标文件夹设置为项目中的“war”文件夹,并在版本控制中忽略它。
我们的 .pom 使用这个:
<properties>
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
<gwt.war.directory>${project.build.directory}/war</gwt.war.directory>
</properties>
在我们使用的调试配置的参数选项卡中:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl appname.jsp -logLevel INFO -port 8888 -codeServerPort 9997 -war "${workspace_loc:appname/target/war}" com.yourcompany.app
似乎没有您遇到的问题。
我不确定这是否只是我面临的问题,但即使按照 maven 插件配置中指定的步骤操作,我也随机出现了这个问题。但现在它没有发生,这就是我所做的不同。
仅在 eclipse java 透视图中使用 gwt,而不在 j2ee 透视图中使用。
在 eclipse->project properties->Google->Web application 中,选中 Launch and deploy from this directory 选项。