1 在pom.xml文件的配置
a 去除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>
b 去除servlet,jstl,jsp依赖
<!--servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--jstl依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<scope>provided</scope>
</dependency>
<!--使jsp页面生效 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
2 提供外部tomcat运行的入口方法
public class StarterForTomcat extends SpringBootServletInitializer{
//覆盖父类方法,将入口指向springboot的main
@Override
protected SpringApplicationBuilder
configure(SpringApplicationBuilder builder) {
//参数Builder就是容器创建整个spring容器的起始对象,也就是main方法的类
return builder.sources(StartApplicationTestJsp.class);
}
}
3 main方法启动类
@SpringBootApplication
public class StartApplicationTestJsp {
public static void main(String[] args) {
SpringApplication.run(StartApplicationTestJsp.class, args);
}
}
4 eclipse打包
a 右击项目——》Run As——》Maven build
b 填写goals和去掉skin tests,最后选择run
e 在项目target就可以看到打好的war包了