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 配置文件中添加以下内容。
我们先把原先的内容注释掉,重启来看下会出现什么问题。
注释掉后,重启我们的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 中配置以上内容主要是为了为访问项目设置资源的相对路径。