如何在Tomcat 7中部署War文件


346

我已将sample.war文件复制到webappsTomcat 的目录中,并且可以访问localhost:8080

现在Tomcat将如何部署它,我的意思是我需要在浏览器中打开它吗?如何访问该应用程序?

Answers:


325

您可以从以下位置访问您的应用程序: http://localhost:8080/sample

默认情况下,战争文件的部署或重新部署是自动进行的-复制/覆盖文件后sample.war,检查webapps文件夹中是否有解压缩的文件夹sample

如果无法正常打开,请检查日志文件(例如tomcat / logs / catalina.out)是否存在部署问题。


7
如果WAR被命名为“ ROOT.war”怎么办?在哪里可以找到该战争?
凯文·梅雷迪斯

5
如果我想将sample.war部署到localhost:8080 / somethingdifferent怎么办?
Koray Tugay

15
您可以在META-INF / context.xml
Bozho 2013年

5
META-INF / context.xml是tomcat \ conf \ context.xml中的那个吗?还是应该在我正在部署的应用程序中?
Koray Tugay 2013年

2
它可以在两个地方都可以。我希望它在应用程序中
Bozho

89

步骤1。我在这里部署pos.war首先转到tomcat webapps文件夹并将其粘贴

在此处输入图片说明

第2步。去tomcat-> bin文件夹,单击startup.bat启动tomcat。

第三步。转到浏览器,输入localhost:port / project名称,例如。本地主机:8080 / pos(此处,我的tomcat在端口8080上运行)

完成...

在此处输入图片说明


谢谢!此外,我需要为新安装的Tomcat目录结构设置权限,以便可以提取WAR并生成日志文件。
安东尼·德·索萨

59

您只需要将war文件放入webapps,然后启动服务器即可。

它将被部署。

否则,您也可以使用Web区域的tomcat管理器远程上载和部署战争。


1
不幸的是,它不起作用!您想测试我的特定战争档案吗?请从“ forge.linshare.org/projects/linshare/files
Dr.jacky

@ Mr.H在放置服务器后启动服务器时拖尾了日志,您将发现为什么它不起作用
Jigar Joshi

1
“如果Host autoDeploy属性为“ true”,则Host将尝试根据需要动态地部署和更新Web应用程序,例如,如果将一个新的.WAR放到appBase中。为此,Host需要具有背景处理已启用,这是默认配置。”
haltunbay 2015年

50

手动步骤-Windows

  1. 将.war文件(例如:prj.war)复制到%CATALINA_HOME%\webapps(例如:C:\ tomcat \ webapps)

  2. %CATALINA_HOME%\bin\startup.bat

  3. 您的.war文件将自动解压缩到具有相同名称(无扩展名)的文件夹中(例如:prj)

  4. 转到%CATALINA_HOME%\conf\server.xml并获取HTTP协议的端口<Connector port="8080" ... />。默认值为8080

  5. 访问以下URL:

    [<protocol>://]localhost:<port>/folder/resourceName

    (如:localhost:8080/folder/resourceName

不要尝试在没有URL的情况下访问URL,resourceName因为如果没有类似这样的文件index.html,或如果web.xml中没有类似“ /”或“ /*” 这样的URL模式,它将无法使用。

可用的主要路径在此处:([<protocol>://]localhost:<port>/manager/html例如:)http://localhost:8080/manager/html,它们true在“运行”列中。


使用UI管理器:

  1. 转到[<protocol>://]localhost:<port>/manager/html/(通常localhost:8080/manager/html/

    也可以通过[<protocol>://]localhost:<port>> Manager App来实现)

    如果你得到:

    403访问被拒绝

    转到%CATALINA_HOME%\conf\tomcat-users.xml并检查您是否已启用以下行:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. 在“ 部署”部分的“要部署的WAR文件”子部分中,单击“ 浏览...”

    部署浏览

  3. 选择.war文件(例如:prj.war)>单击Deploy

  4. 在“ 应用程序”部分,您可以看到项目的名称(例如:prj)。

20

除了已经提到的方式(丢弃战争文件直接进入的webapps -directory),如果你有Tomcat管理-应用安装,您可以通过浏览器部署战争的文件了。要进入管理器,请浏览至服务器的根目录(在您的情况下为localhost:8080),选择“ Tomcat Manager”(此时,您需要知道使用“ manager”的Tomcat用户的用户名和密码-角色,则在以下位置的tomcat-users.xml中定义用户 conf的-tomcat安装目录)。从打开的页面向下滚动,直到看到页面的“ Deploy”部分,您可以在其中单击“浏览”以选择要从本地计算机部署的WAR文件。选择文件后,单击“部署”。一段时间后,经理应通知您应用程序已部署(如果一切顺利,请启动)。

是Tomcat 7文档页面上的更长的操作方法和其他说明。


4
现在manager,Tomcat 7中的角色已经开始manager-gui。我被这个咬了。
SpliFF 2011年

2
将.war文件拖放到webapps中对我而言不起作用,并且日志中没有错误的迹象。通过Tomcat Manager做到这一点。不知道为什么第一种方法失败的线索
xverges

15

有两种方法:

  1. 您都可以进行热部署(热部署意味着在服务器运行/启动时进行部署)。
  2. 或者,您可以进行冷部署(冷部署意味着在服务器停止时进行部署)。

只需使用tomcat管理器控制台进行控制台部署,或者简单地将应用程序复制并粘贴到服务器tomcat_home目录的webapp文件夹中即可。

注意:确保war文件大小大于52 MB默认配置值),您需要在webapp文件夹的Manager应用程序的web.xml文件中进行两个小更改(默认情况下,Apachetomcat提供了Manager应用程序)在安装服务器时)。

  • 转到管理器应用程序的web.xml(例如,它可以在/tomcat7/webapps/manager/WEB-INF/web.xml下。

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    通过根据您的要求输入值<max-file-size>并增加大小<max-request-size>


10

这一直在为我工作:

  1. 在本地创建war文件(mysite.war)。
  2. 将其本地重命名为.war以外的名称,例如mysite.www
  3. 在tomcat仍在运行的情况下,将mysite.www上传到webapps目录。
  4. 完成上传后,删除以前的版本mysite.war
  5. 列出目录,查看目录/ mysite消失。
  6. 重命名mysite.www为mysite.war
  7. 列出目录,监视要创建的新/ mysite。

如果您尝试将新文件上载为war文件,而tomcat仍在运行,它将在所有文件都存在之前尝试对其进行扩展。它会失败。失败后,它将不会再试一次。因此,上传一个www文件,然后重命名它,可以使整个war文件在Tomcat注意到之前出现。

提示,不要忘记检查war文件的所有者是tomcat(使用chown)


2
尽管这在特殊情况下可能会起作用,但这不是有效的取消部署/部署过程。如果autodeploy =“ true”,mysite.www将创建一个新上下文,并删除mysite.war在几种正常情况下会删除mysite上下文。最佳参考是Tomcat Web应用程序部署
2016年

4

如果您是apt-get在Linux上使用tomcat7安装的,则将您的应用部署到/var/lib/tomcat7/webapps/

例如。

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

另外,请继续添加tomcat日志,以便您可以验证您的应用程序确实与tomcat融为一体。

tail -f /var/lib/tomcat7/logs/catalina.out

部署的应用程序应出现在 http://172.16.35.155:8080/manager/html


2

1.从您的应用程序生成战争文件
。2.打开tomcat管理器,进入页面
3.单击浏览以部署战争。
4.选择您的战争文件。你去!


2

要通过tomcat部署war文件,请执行以下步骤:

  1. 停止tomcat。powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop(在左侧)。

在此处输入图片说明

  1. 将.war文件放入E:\ Tomcat_Installation \ webapps即webapps文件夹即put.war(put.war仅是示例)

在此处输入图片说明

  1. 启动tomcat之后(要启动tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start)

您将在E:\ Tomcat_Installation \ webapps ** put **中获得一个文件夹

在此处输入图片说明

这样,您可以在Apache Tomcat中部署war文件。


1

执行以下步骤:

  • 停止Tomcat
  • 右键单击Project,然后单击“清理并构建”
  • 转到您的项目目录,然后在Dist文件夹中,您将获得war文件,并将其复制到tomcat上
  • webApp文件夹
  • 启动tomcat
  • 自动提取战争文件并运行您的项目

1

我遵循以下链接中的说明,它对我有用。 http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. 停止Tomcat

  2. 删除tomcat / logs中的所有日志以及tomcat / conf / Catalina / localhost中的所有文件

  3. tomact / webapps中删除war文件及其创建的目录(如果已创建)

  4. 启动Tomcat

  5. 在查看日志的同时,将war文件再次复制到webapps目录

之后,请密切注意catalina.xxxx-xx-xx.log来找出问题所在


1
这不是有效的取消部署/部署过程,因为它会干扰Tomcat专门管理的文件。最佳参考是Tomcat Web应用程序部署
2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.