可能需要(重新)编译GWT模块'xyz'

时间:2012-03-26 23:11:31

标签: gwt tomcat ant

  

可能重复:
  GWT module may need to be (re)compiled REDUX

我用eclipse创建了一个gwt项目,当我在调试模式下尝试这个项目时(使用GWT的服务器),它可以工作。

但是当我尝试部署apache tomcat服务器时,显示以下错误消息:

localhost:8080页面说: GWT模块'gwtfileupload'可能需要(重新)编译

我使用本教程完成部署: https://wiki.auckland.ac.nz/display/BeSTGRID/Deploying+GWT+to+Tomcat+in+Eclipse


这是“warbuilder.xml”:

<target name="default" depends="buildwar,deploy"></target>

<target name="buildwar">
    <war basedir="war" destfile="gwtfileupload.war" webxml="war/WEB-INF/web.xml">
        <exclude name="WEB-INF/**" />
        <webinf dir="war/WEB-INF/">
            <include name="**/*.jar" />
        </webinf>
    </war>
</target>

<target name="deploy">
    <copy file="gwtfileupload.war" todir="." />
</target>

这是项目树
 | gwtfileupload
 | -src
 | --- COM
 | ----- HSN
 | -------演示
 | --------- gwtfileupload
 | -----------客户
 | ------------------- GWTFileUpload.java
 | -----------服务器
 | ------------------- FileUploadServlet.java
 | -war
 | --- gwtfileupload.css
 | --- gwtfileupload.html
 | --- WEB-INF
 | ----- web.xml中
 | ----- LIB
 | ---------公地文件上传-1.2.1.jar
 | --------- GWT-的servlet.jar
 | ---------公地-IO-1.4.jar

这是战争文件树
 | -gwtfileupload.html
 | -gwtfileupload.css
 | -META-INF
 | --- MANIFEST.MF
 | -WEB-INF
 | --- web.xml中
 | --- LIB
 | ------公地文件上传-1.2.1.jar
 | ------ GWT-的servlet.jar
 | ------公地IO-1.4.jar
 | ------ gwtfileupload.jar
 | -gwtfileupload
 | --- clear.cache.gif
 | --- gwtfileupload.nocache.js
 | --- hosted.html
 | --- GWT
 | -----标准
 | -------图像
 | --------- IE6

你能帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

清除浏览器缓存。

答案 1 :(得分:1)

查看“战争文件树”,没有 .cache。文件。看起来你没有GWT-编译你的项目!

参见https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideProdMode 您必须在Ant文件中使用java任务调用编译器。

答案 2 :(得分:0)

开发模式将.nocache.js文件替换为发出该错误的副本。它至少在以开发模式启动页面时执行此操作,并且可能在开发模式启动时(我没有准确确定何时发生这种情况,只根据我过去看到的情况进行报告)。它只替换它被告知用于战争的目录中的副本,因此如果你被部署到另一个servlet容器,它不应该受到影响。

防止这种情况的最佳方法是在将Java编译为JS后不启动或使用开发模式,而只从像tomcat这样的servlet容器运行应用程序。如果开始编译时dev模式已经运行,这应该不是问题,但是不要加载以gwt.codesvr=localhost:9997结尾的任何url,因为这会导致dev模式覆盖.nocache.js文件试。