springboot项目部署到tomcat下步骤

1:项目改成war包,并去除springboot默认的tomcat

<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- provided 表明该包只在编译和测试的时候使用,去除默认的tomcat -->
<scope>provided</scope>
</dependency>

  <packaging>war</packaging>

 2:项目打包

先编译后打包

打包完成

此时部署到tomcat下的wabapps下,启动tomcat。发行springboot并未成功启动

原因是项目对应的Jar包没未和项目一期打包到war包里。

解决方法:

进入到项目对应的目录下,执行mvn dependency:copy-dependencies -DoutputDirectory=lib命令,稍等就会看到目录下生成lib包,放到项目的web-inf下的lib里就好 

 3:修改项目目录参考

在我们 tomcat 中的 conf 目录中的 server.xml 配置文件中添加以下内容。

复制代码代码如下:
<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 中配置以上内容主要是为了为访问项目设置资源的相对路径。

猜你喜欢

转载自www.cnblogs.com/lyjie/p/11666898.html