在Tomcat / Eclipse中部署WAR

时间:2010-11-24 16:34:12

标签: eclipse tomcat deployment war

我在Linux下使用Tomcat 6.0和Eclipse 3.0,我尝试在Tomcat中部署WAR。问题是服务器是由Eclipse管理的,我部署了一些Eclipse项目。我尝试修改server.xml文件,然后通过Eclipse启动Tomcat,但它不起作用:

  

无法在localhost-config的/ Servers / Tomcat v6.0服务器上加载Tomcat服务器配置。配置可能已损坏或不完整。

我试图在webapps目录中解压缩但是仍然无法访问webapp。

部署战争的最佳做法是什么?

4 个答案:

答案 0 :(得分:8)

是的,在某种程度上,您可以在开发模式下部署战争。

我有同样的问题。

我有一个Eclipse webapp项目,Eclipse将其部署到Eclipse运行的Tomcat实例,因此我可以对项目进行热编辑。

此Web项目需要使用必须在同一Tomcat实例中运行的另一个webapp发布的资源。另一个webapp是其他人完成的项目,所以它已经处于战争状态。

我需要File->将war作为Eclipse项目导入,并让Eclipse将其部署到Eclipse的同一个实例,以便在我的webapp也运行的Tomcat的同一个实例中运行它。

问题在于某些战争以这种方式运行,但有些战争没有,而所有这些战争在独立的Tomcat(由startup.sh启动)中运行得非常好。我无法弄清楚原因。

答案 1 :(得分:6)

Tomcat在开发和生产模式下的行为不同。在Eclipse中开发webapp时,没有理由在开发过程中将应用程序的WAR文件部署为WAR。

只需转到“服务器”视图并添加新服务器(您应该已经完成​​此操作,否则无法创建动态Web项目)。在服务器视图中,您应该看到您创建的服务器(Tomcat在localhost或类似的东西),只需右键单击它,然后转到“添加和删除”部分。在这里,您可以添加和删除在Eclipse中创建的Dynamic Web项目。添加项目后,您只需点击服务器视图中的绿色开始按钮,即可在localhost:8080/mycontext处找到您的应用。

完成构建应用程序后,只需右键单击该项目,然后转到菜单中的“导出”部分。您应该能够导出WAR文件。获得WAR文件后,可以将其上载并部署在与开发模式下运行的Eclipse无关的Tomcat实例上。

答案 2 :(得分:2)

这是旧的,但是谷歌搜索的第一个答案之一。

您可以导入war文件:

 

Web存档(WAR)文件是一个可移植的打包Web应用程序 您可以导入到工作区中。

在导入WAR文件之前, 您应首先确定WAR文件是否包含所需的Java™源 文件。将WAR文件导入现有Web项目时,导入 Web部署描述符文件不会被更改或覆盖 包含在导入的WAR文件中的那些,基于您对提示的响应 这是提供的。在任何一种情况下,此操作都代表a 合并两组部署描述符。

  

导入 将WAR文件中的Web项目资源放入工作区,完成以下操作 步骤进行:

  1. 选择文件>进口
  2. 在“导入”对话框中,选择“WAR文件” 然后单击下一步。
  3. 使用“浏览”按钮找到要导入的WAR文件。
  4. 该向导假定您要创建一个新的Web项目 与WAR文件同名。如果您接受此选择,项目将是 使用与WAR文件指定的相同servlet版本创建并在 同一个地方。如果您要覆盖这些设置,可以点击新建和 在Dynamic Web Project向导中指定新设置。
  5. 单击“完成”以填充Web 项目
  6. 来源: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html

答案 3 :(得分:0)

如果您拥有的是二进制WAR(无源代码),则无法在Eclipse中安装。这可能发生在正常开发工作流程之外的某些场景中。这是解决方案的解决方案:

  1. 启动另一个Tomcat实例(在Eclipse之外)。
  2. 修改tomcat-users.xml文件以启用admin
  3. 转到http://localhost:8080/manager/html
  4. 向下滚动到 WAR文件以进行部署
  5. 点击选择文件选择要上传的WAR文件旁边),然后点击部署