今天的积累都是为了更好的明天,加油!我是java程序员,大家可以关注我一起学习哈!
springboot部署war包有两种情况:
1.新建的springboot项目
新建项目时,Packaging选war
新建之后,会发现pom文件里多了个spring-boot-starter-tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
还多了一个ServletInitializer继承了 SpringBootServletInitializer。
2.原有的springboot项目
如果是原有的项目,就需要自己改造下了!
pom文件改造:
首先指定包为war
<packaging>war</packaging>
移除嵌入的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
添加javax.servlet-api
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
指定war包名
<finalName>sliderverificationcode</finalName>
添加 maven-surefire-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
启动类改造:
启动类继承SpringBootServletInitializer,重写configure方法!
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(SliderverificationcodeApplication .class);
}
通过命令mvn install -Dbuildnumber.phase=NONE打成war包
放到tomcat的webapps下!
访问的路径是http://localhost:IP:端口/项目名/接口,例如:http://localhost:8082/sliderverificationcode/index
到此改造完成!有问题欢迎留言!