【问题标题】:Eclipse with Tomcat does not automatically republish my WAR file带有 Tomcat 的 Eclipse 不会自动重新发布我的 WAR 文件
【发布时间】:2013-11-12 01:33:01
【问题描述】:

我已经手动安装了带有 1.6 JDK 的 Windows 8.1。

我正在使用 Eclipse(Kepler,面向 Web 开发人员的 Java EE IDE)。 我导入了一个使用Ant 构建脚本构建WAR 文件的项目;显示为一个项目。 我创建了一个Tomcat6Server(下载可用的Eclipse包);显示为第二个项目。

ServerModules 选项卡上,我单击“添加外部Web 模块...”,浏览到包含我的WAR 文件的文件夹并单击确定。然后我添加了我的WAR 文件的名称(目录名“...\SpiffyApp”到文件名“...\SpiffyApp\spiffyapp.war”)。我确认路径的名称是“/”;我点击勾选了“启用自动重新加载”,然后点击确定。

我承认 - 我偷看了 Server 配置。我点击了“打开启动配置”;在“编辑启动配置属性”对话框的“参数”选项卡上,我发现了以下属性设置:

-Dcatalina.base= "....metadata.plugins\org.eclipse.wst.server.core\tmp0"

然后在我的恶作剧中,我发现“tmp0”目录有一个“webapps”子目录。啊哈!

我注意到,在某些情况下,“SpiffyApp”会在“webapps”下重新发布 - 问题是,我无法确定何时

具体来说,当我告诉服务器“清理”/“发布”时,Eclipse 没有将我的应用重新发布到“webapps”,这让我很失望。我真正喜欢的是当我重建 WAR 时它会自动重新发布。

当我执行所有这些操作时,我可以重新部署 WAR

  1. 停止了我的 Tomcat Server
  2. 删除“tmp0/webapps”下的所有文件夹
  3. 删除“tmp0/work”下的所有文件夹(提示我来自Chris Lercherhere
  4. 重建了我的WAR 文件
  5. 开始我的Server

我肯定做错了什么。

这里有什么规则?我真的要删除Web Module,删除“tmp0”中的文件夹并重新添加Web Module吗?

【问题讨论】:

    标签: eclipse tomcat deployment tomcat6 eclipse-kepler


    【解决方案1】:

    您做错了什么是期望它监视存档文件上的更改,而存档文件通常不会更改。将 WAR 作为项目导入,然后 Eclipse 可以在应用程序中发生实际变化时正确部署它。

    否则您可能会尝试从服务器视图中的 Tomcat 服务器实例的上下文菜单中强制清理服务器区域。

    【讨论】:

    • 遗憾的是,正如我所提到的,从 Tomcat 清理/发布并没有重新部署 webapp。从长远来看,我需要按照你说的去做。短期内,我希望给我的客户简单的指示来调试他们已经构建的存档。他们有一个遗留的构建过程,在“IDE for Java Developers”Eclipse 包中运行 Ant 脚本。你已经回答了我的问题 - 谢谢@nitind!
    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2012-05-02
    • 2011-06-04
    • 2012-08-02
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多