可能重复:
GWT模块可能需要(重新)编译REDUX
我已经用eclipse创建了一个gwt项目,当我在调试模式下(用gwt的服务器)尝试这个项目时,它就可以工作了。
但当我尝试部署apache tomcat服务器时,显示了以下错误消息:
localhost:8080上的页面显示:GWT模块"gwtfilelpload"可能需要(重新)编译
我使用本教程来完成部署:https://wiki.auckland.ac.nz/display/BeSTGRID/Deploying+GWT+到+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>
这是项目树
|gwtfilelpload
|-src
|---com
|-----hsn
|-------演示
|--------gwtfileypload
|----------------客户端
|----------------GWTFileUpload.java
|----------------服务器
|----------------FileUploadServlet.java
|-战争
|---gwtfileypload.css
|---gwtfilelpload.html
|---WEB-INF
|-----web.xml
|-----库
|--------commons-fileupload-1.2.1.jar
|--------gwt servlet.jar
|--------commons-io-1.4.jar
这是战争文件树
|-gwtfilipload.html
|-gwtfilipload.css
|-META-INF
|---MANIFEST.MF
|-WEB-INF
|---web.xml
|---lib
|------commons-fileupload-1.2.1.jar
|------gwt servlet.jar
|------commons-io-1.4.jar
|------gwtfilelpload.jar
|-gwtfilipload
|---clear.cache.gif
|---gwtfilelpload.nocache.js
|---hosted.html
|---gwt
|-----标准
|-------图像
|--------ie6
你能帮我解决这个问题吗?
清除浏览器缓存
查看您的"war文件树",没有.cache.文件。看起来你没有GWT编译你的项目!
请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideProdMode您必须在Ant文件中使用java
任务来调用编译器。
开发模式用发出该错误的副本替换.nocache.js
文件。它至少在页面以开发模式启动时会这样做,可能在开发模式开始时也会这样做(我还没有确定这种情况发生的确切时间,只是根据我过去看到的案例进行报告)。它只替换被告知用于war的目录中的副本,所以如果您被部署到另一个servlet容器,它不应该受到影响。
防止这种情况发生的最好方法是在将Java编译为JS后不启动或使用开发模式,而是只从像tomcat这样的servlet容器运行应用程序。如果在开始编译时dev模式已经在运行,这应该不是问题,但不要加载任何以gwt.codesvr=localhost:9997
结尾的url,因为这将导致dev模式再次覆盖.nocache.js
文件。