Java代码的更改未反映在Web项目的更新WAR中

时间:2015-07-28 11:00:36

标签: java eclipse tomcat gwt

我有一个由同事制作的Java Web应用程序。我一直在尝试更改项目代码,并在另一个位置部署相同的项目。

我一直在做以下事情:

  1. 对Java源进行必要的更改并保存更改
  2. 构建Web项目
  3. 使用Apache Tomcat部署新生成的WAR文件
  4. 但是,当我在浏览器中打开已部署的Web应用程序时,不会反映对代码所做的更改。

    我尝试清理项目并重新构建,重新启动服务器,重新加载WAR,删除相关的webapps文件夹。但它仍然保持不变。我还查看了各个CLASS文件的“上次修改”时间,时间戳也显示了类已更新。

    我运行build.xml文件来生成WAR。 build.xml文件如下所示:

    <project name="QA-SV-Web-regression" basedir="." default="default">
    
    <target name="default" depends="buildwar,deploy"></target>
    
    <target name="buildwar">
        <war basedir="war" destfile="WebReg.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="WebReg.war" todir="." />
    </target> 
    

    请注意:我没有在eclipse中使用tomcat。它作为一个独立的应用程序运行。

    我无法弄清楚如何解决此问题。请帮忙。

    更新:每当我构建项目时,都会更新CLASS文件。我认为该项目正在产生有效的输出。但是,WAR仍然不会更新Web内容。

1 个答案:

答案 0 :(得分:1)

在build.xml中添加clean,编译目标,并使buildwar目标依赖于它们(如果它们已经不在那里)。 e.g。

<target name="buildwar" depends="clean,compile">
 ....
 </target>

 <target name="clean" >
 ....
 </target>

 <target name="compile" >
 ....
 </target>