Springboot 本质上是一个 Java 应用程序,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war
jar部署方式
1、打包成jar
切换到安装目录下:
jar包的安装目录在maven本地仓库中
运行项目target下生成的jar包
运行结果
页面访问:http://127.0.0.1:8080/hello
通过这种方式,把此jar上传到服务器并运行,就可达到部署的效果了
war-部署
Application 修改为如下代码
新加@ServletComponentScan注解,并且继承SpringBootServletInitializer 。
pom.xml修改为如下代码,主要两个改动
新加打包成war的声明:
war
spring-boot-starter-tomcat修改为 provided方式,以避免和独立 tomcat 容器的冲突.
表示provided 只在编译和测试的时候使用,打包的时候就没它了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
切换到项目的安装目录下
如果用 springboot-0.0.1-SNAPSHOT.war 这个文件名部署,那么访问的时候就要在路径上加上springboot-0.0.1-SNAPSHOT。 所以把这个文件重命名为 ROOT.war
然后把它放进tomcat 的webapps目录下。
ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。
运行tomcat下的 bin目录里的startup.bat, 然后就可以启动了. 启动后访问如下地址测试:
http://127.0.0.1:8080/hello