1.配置好pom.xml文件
(1)packaging一定要写成war:<packaging>war</packaging>
(2)在工程的pom.xml中添加tomcat依赖(两种方式)
<1>直接添加tomcat依赖,属性设置为provided
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<2>排除springboot内置的tomcat容器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
(3)加servlet-api的依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
(4)在工程的pom.xml中添加以下依赖:打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.开始打包
(1)改造启动类:启动类继承SpringBootServletInitializer实现configure:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);}}
(2)在开发工具MyEclipse中:右击项目-->run as-->Maven clean
<1>命令窗口执行,当看到BUILD SUCCESS执行成功
<2>此时会在SpringBoot项目中与pox.xml同目录下生成target文件夹
(3)右击项目-->Run As-->Maven build...(注意有点)
<1>在弹出框中的Goals中输入package,点击Run
<2>执行的时候初次打包可能需要时间下载war包,时间会长一点
<3>当看到BUILD SUCCESS时表示已成功打成war
<4>打成的war包存放在生成的target文件夹中
3.发布运行
(1)将war包文件拷贝到tomcat8中的webapps中
(2)点击bin下面的startup.bat运行
(3)运行没有任何报错就OK了
4.测试
(1)在浏览器中输入http://localhost:8080/项目名/Hello/hello
(2)如果界面返回结果,那么spring boot打成war发布也就大功告成
(3)注意事项:
<1>使用Springboot打war包后,浏览器访问必须带项目名
<1>端口号和tomcat端口号一致
1.1.如tomcat端口号是默认端口号8080
1.2.即使在属性配置文件设置端口为8081,也不会生效