【问题标题】:How to deploy a war file in Tomcat 7如何在Tomcat 7中部署war文件
【发布时间】:2011-07-03 19:21:19
【问题描述】:

我已经将sample.war文件复制到Tomcat的webapps目录下,可以访问localhost:8080了。

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

【问题讨论】:

    标签: java tomcat war


    【解决方案1】:

    您可以通过以下方式访问您的应用程序:http://localhost:8080/sample

    默认情况下会自动部署或重新部署 war 文件 - 复制/覆盖文件 sample.war 后,检查您的 webapps 文件夹以获取提取的文件夹 sample

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

    【讨论】:

    • 如果 WAR 被命名为“ROOT.war”怎么办?我在哪里可以找到那个 WAR?
    • 如果我想将我的 sample.war 部署到 localhost:8080/something different 怎么办?
    • 你可以在 META-INF/context.xml 中指定
    • META-INF/context.xml,是tomcat\conf\context.xml中的那个吗?还是应该在我正在部署的应用程序中?
    • 这两个地方都可以。我更喜欢它在应用程序中
    【解决方案2】:

    你只需要把你的war文件放到webapps中,然后启动你的服务器。

    它将被部署。

    否则,您还可以使用 tomcat manager a webfront 远程上传和部署您的战争。

    【讨论】:

    • 不幸的是它不起作用!你想测试我的特定战争文件吗?!请从“forge.linshare.org/projects/linshare/files”下载“linshare-core-1.8.4-without-SSO.war”
    • @Mr.H tail 放置war后启动服务器时的日志,你会发现它为什么不工作
    • "如果 Host 的 autoDeploy 属性为 "true",Host 将根据需要尝试动态部署和更新 Web 应用程序,例如,如果将新的 .WAR 文件拖放到 appBase 中。为此工作,主机需要启用后台处理,这是默认配置。"
    【解决方案3】:

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

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

    【讨论】:

    • Tomcat 7 中的manager 角色现在是manager-gui。我被这个咬了。
    • 在 webapps 中删除 .war 文件对我不起作用,并且日志中没有错误迹象。从 Tomcat 管理器中执行此操作就可以了。不知道为什么第一种方法失败了
    【解决方案4】:

    有两种方式:

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

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

    注意:确保您的 war 文件大小是否超过 52 MB默认配置值), 您需要在 webapp 文件夹的 Manager 应用程序的 web.xml 文件中做两处小改动(Manager 应用程序在安装服务器时默认由 Apache tomcat 提供)。

    • 转到管理器应用程序的 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>
      

      通过根据您的要求输入&lt;max-file-size&gt;&lt;max-request-size&gt; 的值来增加大小。

    【讨论】:

      【解决方案5】:

      这一直对我有用:

      1. 在本地创建您的战争文件 (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)

      【讨论】:

      • 虽然这可能在特殊情况下有效,但它不是有效的取消部署/部署过程。如果 autodeploy="true" 和删除 mysite.war 会在几种正常情况下删除 mysite 上下文,mysite.www 将创建一个新上下文。最好的参考是Tomcat Web Application Deployment
      【解决方案6】:

      手动步骤 - 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 协议的端口&lt;Connector port="8080" ... /&gt;。默认值为 8080

      5. 访问以下网址:

        [&lt;protocol&gt;://]localhost:&lt;port&gt;/folder/resourceName

        (例如:localhost:8080/folder/resourceName

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

      可用的主要路径在这里:[&lt;protocol&gt;://]localhost:&lt;port&gt;/manager/html(例如:http://localhost:8080/manager/html)并且它们在“运行”列中有true


      使用 UI 管理器:

      1. 转到[&lt;protocol&gt;://]localhost:&lt;port&gt;/manager/html/(通常是localhost:8080/manager/html/

        这也可以通过[&lt;protocol&gt;://]localhost:&lt;port&gt; 实现> Manager App

        如果你得到:

        403 访问被拒绝

        转到%CATALINA_HOME%\conf\tomcat-users.xml 并检查您是否启用了这样的一行:

        <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
        
      2. 部署部分,要部署的WAR文件小节,点击Browse...

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

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

      【讨论】:

        【解决方案7】:

        第 1 步。这里我在部署pos.war先去tomcat webapps文件夹粘贴一下

        第 2 步。转到 tomcat->bin 文件夹通过单击 startup.bat

        启动 tomcat

        第 3 步。去浏览器写本地主机:端口/项目名称,例如。 localhost:8080/pos(这里我的tomcat运行在8080端口)

        完成....

        【讨论】:

        • 谢谢!此外,我需要为新安装的 Tomcat 目录结构设置权限,以便提取我的 WAR 并生成日志文件。
        【解决方案8】:

        执行以下步骤:

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

        【讨论】:

          【解决方案9】:

          我按照以下链接中的说明进行操作,它对我有用。 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 以找出问题所在。

          【讨论】:

          【解决方案10】:

          如果您在 linux 中使用 apt-get 安装了 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

          【讨论】:

            【解决方案11】:

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

            【讨论】:

              【解决方案12】:

              为了在 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->开始)

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

              通过这种方式,您可以在 Apache Tomcat 中部署您的 war 文件。

              【讨论】:

                【解决方案13】:

                应用程序名称进入您的 tomcat 部署 URL 的上下文中, 例如。 http://localhost:Port/applicationName。 如果你的应用名称很简单,那么它应该是http://localhost:8080/sample

                默认端口是8080,但是如果你想改变它,或者想知道tomcat运行的端口,只需进入&lt;tomcat-apache-dir&gt;/conf/server.xml中的server.xml文件,在那里你可以找到端口&改变, 例如。 &lt;Connector port="8080" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1"/&gt;

                如果出现任何问题,请检查日志文件(例如&lt;tomcat-apache-dir&gt;/logs/catalina.out

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2018-02-13
                  • 1970-01-01
                  • 2017-11-08
                  • 2020-12-03
                  • 1970-01-01
                  • 2016-03-30
                  • 1970-01-01
                  相关资源
                  最近更新 更多