Gor*_*don 3 eclipse ant publish tomcat war
我正在使用Eclipse Helios.我有一个动态Web项目,我已经设置Eclipse使用Ant Builder来生成WAR文件.这一切都很好; 如果我更改.java文件,Eclipse会自动通过Ant运行我的build.xml并更新我的WAR.如果我将WAR部署到Tomcat的外部实例,它可以完美地工作.
但是,当我告诉Eclipse在Tomcat下运行我的项目时,它不使用Ant构建生成的WAR文件,也不使用我的Ant脚本生成临时WAR.
我知道这是因为我的build.xml脚本在WAR中的WEB-INF/classes中包含了一些额外的XML配置文件,这些文件没有在Eclipse推出的WEB-INF/classes目录中结束.
我似乎无法在Eclipse中找到任何"发布时使用此WAR文件而不是构建自己的文件"的内容.
另一种方法是通过添加文件列表告诉Tomcat何时构建WAR,但我似乎无法找到方法.
我也很好奇Eclipse如何知道要发布什么,因为它显然忽略了我的build.xml和我之前生成的WAR文件.
Eclipse通过查看项目的Web部署程序集选项来部署Web应用程序.您可以通过右键单击项目,选择"属性",然后单击"部署程序集"来查看此内容.Eclipse通常在这里使用扩展的目录部署,而不是创建和部署WAR(这是基于正在使用的服务器插件,但我认为它们中的大多数都使用扩展的目录结构来提高速度).如果导出为WAR,它将创建具有相同内容的WAR.
有两种主要选择可以做你想做的事情:
修改Web部署程序集选项,使其与部署的应用程序中的内容完全匹配
不要使用Eclipse的部署; 将"外部Ant构建器"添加到项目的"构建器"选项中(右键单击项目,选择"属性" - >"构建器").然后,您可以在eclipse构建项目时选择要在ant文件中使用的目标.其中一个选项可以是部署步骤