因为
SpringBoot自带Tomcat容器, 所以利用Maven一起打包,IDE直接启动或者直接命令行java -jar xxxx.jar指令就可以启动项目, 这样的方式虽然确实简单, 为我们省去了去配置一个tomcat容器的操作, 但是不好的地方就是我们一旦关了IDE或者命令行, 那么项目就停掉了. 所以这里介绍下 如何部署项目.
这里主要介绍的是 用Maven管理和构建项目的. Gradle也很类似简单.
1. 修改pom.xml
因为SpringBoot自带tomcat容器, 所以我们项目依赖要把自带的tomcat容器exclude掉.
然后用我们服务器上自己安装的tomcat容器. 也就是把项目打包后的war包放到服务器上的tomcat下的webapps下.
具体的配置如下
1 | <dependency> |
这里的scope是maven配置依赖的指定依赖的作用的范围, 有
test,compile,provided等.
这里的provided就是项目打包的时候, 将该依赖exclude掉.
2. 修改pom.xml的打包的方式
将默认的jar修改为打包的方式为war1
<packaging>war</packaging>
3. 修改项目的入口类.
提供一个SpringBootServletInitializer的子类, 并且覆盖它的configure方法, 这充分利用了Spring框架对Servlet 3.0的支持,并允许你在应用通过servlet容器启动时配置它。通常,你只需把应用的主类改为继承SpringBootServletInitializer即可:
1 |
|
4. 最后一步,
利用maven打包方法, 可以在ide中做, 也可以直接命令行 mvn clean && mvn package即可.
将maven打出来的war包scp到服务器上tomcat的webapps目录下.
一些注意点.
注意 按以上方式配置下, 项目的总的配置文件(不管是application.yml还是application.properties)中的
1
2
3 server:
port: 8888
context-path: /rootPath
配置的端口和上下文将不起作用. 其他spring和mybatis还有freemarker等等配置都依旧生效.