【Maven】Maven 项目打包成 war 包部署到 Tomcat

  有关于 Maven 项目的打包部署,我这里用的是 Eclipse 编辑器,以此来作个简单的记录。html

实践环境

  • 操做系统: Windows
  • IDE: Eclipse

打包部署过程

 1 项目打包

  1.1 右键点击所须要打包的项目,点击如图所示 Maven clean,这里 Maven 会清楚掉以前对这个项目全部的打包信息。
  
  1.2 进行完 Maven clean 操做后,在eclipse的控制台会出现如下的信息。
  
  1.3 而后咱们从新右键所需打包的项目,点击如图所示 Maven build
  
  1.4 在弹出的界面中,进行以下图的操做。
  “Goals”输入框中输入 -X package,同时勾选下方 Update SnapshotsSkip Tests 选项框。
  
  1.5 出现如下结果则说明打包成功。
  
  1.6 刷新咱们的项目,咱们能在项目的 target 目录下找到咱们打包好的 war 包。
  web

 2 项目部署

  2.1 将上述打包好的 war 包放置咱们的 tomcat 的 webapps 目录下。如图所示。
  
  2.2 修改 tomcat 中 conf 目录下的配置文件 server.xml,在配置文件中找到Host标签,在其中添加以下内容。这里使用的是相对路径,doBase 属性的值是咱们所打 war 包的名称(至于为何要增长这一步,后面会作解释)。浏览器

<Context docBase="analysis-tool-web-1.0-SNAPSHOT" path="/" reloadable="true" privileged="true"/>

  
  2.3 进入 tomcat 的 bin 目录,点击 startup.bat 启动咱们的tomcat。显示以下结果则说明部署成功。
  
  2.4 这时候咱们打开浏览器输入 localhost:8080,就成功访问到了咱们的主页。
  tomcat

说明

  上述说到,在咱们 tomcat 中的 conf 目录中的 server.xml 配置文件中添加如下内容。app

<Context docBase="analysis-tool-web-1.0-SNAPSHOT" path="/" reloadable="true" privileged="true"/>

  咱们先把原先的内容注释掉,重启来看下会出现什么问题。
  
  注释掉后,重启咱们的tomcat,而后在浏览器中访问 localhost:8080
  
  你会发现这个时候是请求不到咱们的项目的。这种状况下在访问路径中加上咱们的项目名称再试下,访问 http://localhost:8080/analysis-tool-web-1.0-SNAPSHOT/login(项目的全部资源、请求都在 analysis-tool-web-1.0-SNAPSHOT 目录下)。
  
  到这一步基本跟以前同样是没什么问题的。问题就在咱们点击登陆之后,后面的请求路径的变化。我尝试进行登陆,看登陆后的跳转路径。
  
  这里缺省了咱们的项目路径 /analysis-tool-web-1.0-SNAPSHOT,而当前项目资源、请求都在 analysis-tool-web-1.0-SNAPSHOT 文件夹下。请求直接跳转至 / 下,致使找不到资源的请求报404错误。在 server.xml 中配置以上内容主要是为了为访问项目设置资源的相对路径。eclipse