无法使用嵌入式Tomcat在eclipse中运行mavenized GWT应用程序

时间:2012-06-29 17:47:48

标签: eclipse spring gwt maven

我有一个概念验证GWT 2.4 / Spring 3.1 / Maven 3 / Eclipse Indigo项目,我一直在研究。我能够使用嵌入式Jetty服务器在开发模式下运行应用程序。我能够在gwt-maven-plugin的帮助下创建一个war(mvn包)并在已安装的Tomcat服务器上运行该应用程序。但是当我尝试Run as > Run on Server时,它不会使用/复制生成/编译的JavaScript。当我转到wtpwebapps目录时,除了生成/编译的JavaScript之外,所有内容都存在。看来,生成/编译的JavaScript位于maven目标目录中的正确位置,但是将应用程序代码复制到wtpwebapps目录的eclipse进程并没有提取它。

我不确定是否需要提供更多信息来解决此问题,但我们非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用嵌入式Tomcat API使用自定义com.google.gwt.core.ext.ServletContainerLauncher,或者更简单地在Tomcat中运行您的服务器代码(使用WTP或tomcat7-maven-plugin),然后在-noserver中运行DevMode模式。

请参阅https://developers.google.com/eclipse/docs/faq#gwt_with_mavenhttps://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#How_do_I_use_my_own_server_in_development_mode_instead_of_GWT

我在https://github.com/tbroyer/gwt-maven-archetypes中使用第二种方法 原型目前使用Jetty,但是我在基于原型的项目中成功使用了tomcat7-maven-plugin(有太多的技巧阻止我将它设置为原型中的默认值;这些技巧只是需要因为项目的多模块性质;但Jetty也有技巧。

答案 1 :(得分:0)

在我的eclipse maven项目中,我遇到了与GWT-dev 2.8.0-beta1和jetty 9类似的问题。由于GWT-dev jar包含直接在其jar中的Jetty和其他代码(这很糟糕),它与我在项目中导入的jetty冲突。解决方法是创建一个单独的模块,仅用于运行超级开发模式,导入GWT-dev和我的项目代码,但不包括jetty jar。然后我通过下面的主要运行超级开发模式。这样,超级开发模式在没有看到我的码头库的情况下运行。

.jar