总结:
其实啥都不用干。直接启动tomcat,把war包丢到tomcat的webapps目录下就可以了。访问路径就是war包的名称。
http://localhost:8080/war包名称/
查看tomcat/conf/server.xml。
详情查看官网 点翻译:https://tomcat.apache.org/tomcat-9.0-doc/deployer-howto.html
autoDeploy
true: 当一个.war文件进入到webapps目录下。自动重启tomcat,解压war包。实现自动部署。
false: 不会自动重启并部署。
unpackWARs:true
true: 当同名的war包被替换时,也会自动重启并部署。
flase: 新war包才会自动重启并部署。
查看 context.xml
详情查看官网 点翻译:https://tomcat.apache.org/tomcat-9.0-doc/config/context.html
docBase 项目或者war包路径。没必要,会自动根据war包名称推算出来
path 设置访问路径。也没必要,会自动根据docBase的路径推算出来
reloadable
true: 启动监视类修改。修改后重新加载文件,不会重新部署。
false: 关闭监视类修改。
遇到的坑。
1: 不要在server.xml的host标签下写context.
会出现一大堆问题。比如:会部署两次。配置path后路径失效啊。配置docBase后项目启动不起来啊,访问404啊。
2. 不需要配置什么奇奇怪怪的。直接吧war包扔到webapps下就可以。
3. 具体还有那些东西,请到官网去看。
题外话。Springboot打成war包。
pom.xml文件中:
<packaging>jar</packaging>改成 <packaging>war</packaging>
<!--屏蔽自带Springboot自带的 tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!--可将Springboot打包成可运行的jar或者war包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
启动类中:继承 SpringBootServletInitializer。然后实现configure。