我在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 回答
是的,在某种程度上,您可以在开发模式下部署战争 .
我也有同样的问题 .
我有一个Eclipse webapp项目,Eclipse部署到Eclipse运行的Tomcat实例,因此我可以对项目进行热编辑 .
此Web项目需要使用必须在同一Tomcat实例中运行的另一个webapp发布的资源 . 另一个webapp是由其他人完成的项目,因此它已经处于战争状态 .
我需要File->将war作为Eclipse项目导入,并让Eclipse将它部署到Eclipse的同一个实例,以便在我的webapp也运行的Tomcat的同一个实例中运行它 .
问题是有些战争以这种方式工作,但有些战争没有,而所有这些战争在独立的Tomcat(由startup.sh启动)中运行得非常好 . 我无法弄清楚为什么 .
Tomcat在开发和 生产环境 模式下表现不同 . 在Eclipse中开发webapp时,没有理由在开发期间将应用程序的WAR文件部署为WAR .
只需转到"servers"视图并添加一个新服务器(您应该已经完成此操作,否则无法创建动态Web项目) . 在服务器视图中,您应该看到您创建的服务器(Tomcat在localhost或类似的东西),只需右键单击它,然后转到“添加和删除”部分 . 在这里,您可以添加和删除在Eclipse中创建的Dynamic Web项目 . 添加项目后,您只需单击服务器视图中的绿色开始按钮,您的应用程序就可以在
localhost:8080/mycontext
中找到 .完成构建应用程序后,只需右键单击项目,然后转到菜单中的“导出”部分 . 您应该能够导出WAR文件 . 获得WAR文件后,可以将其上载并部署在与开发模式下运行的Eclipse无关的Tomcat实例上 .
这是旧的,但是谷歌搜索的第一个答案之一 .
您可以导入war文件:
Web存档(WAR)文件是一个可移植的打包Web应用程序,您可以将其导入工作区 .
在导入WAR文件之前,应首先确定WAR文件是否包含所需的Java™源文件 . 将WAR文件导入现有Web项目时,导入的Web部署描述符文件不会被导入的WAR文件中包含的Web部署描述符文件更改或覆盖,具体取决于您对提供的提示的响应 . 在任何一种情况下,此操作都不代表两组部署描述符的合并 .
要将WAR文件中的Web项目资源导入工作区,请完成以下步骤:
选择“文件”>“导入” .
在“导入”对话框中,选择“WAR文件”,然后单击“下一步” .
使用“浏览”按钮找到要导入的WAR文件 .
该向导假定您要创建一个与WAR文件同名的新Web项目 . 如果接受此选择,则将使用与WAR文件指定的相同servlet版本并在同一位置创建项目 . 如果要覆盖这些设置,可以单击 New 并在Dynamic Web Project向导中指定新设置 .
单击“完成”以填充Web项目 .
资料来源:http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html
如果您拥有的只是二进制WAR(无源代码),则无法在Eclipse中安装 . 这可能发生在正常开发工作流程之外的某些场景中 . 这是解决方案:
启动另一个Tomcat实例(在Eclipse之外) .
修改
tomcat-users.xml
文件以启用admin转到
http://localhost:8080/manager/html
向下滚动到要部署的WAR文件
单击 Choose File (选择要上载的WAR文件旁边),然后单击 Deploy .