ideal中的项目发布到独立的tomcat中运行
在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境,我希望在独立的tomcat容器中运行,因为我们需要对tomcat做额外的优化,这时我们需要将工程打包成war包发进行发布。
- 工程的打包方式为war
-
<groupId>net.sppan</groupId> <artifactId>SPPanAdmin</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
-
2. 将spring-boot-starter-tomcat的范围设置为provided
设置为provided是在打包时会将该包排除,因为要放到独立的tomcat中运行,是不需要的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3..修改代码,设置启动配置
需要集成SpringBootServletInitializer,然后重写configure,将Spring Boot的入口类设置进去。
@SpringBootApplication public class Application extends SpringBootServletInitializer { private static Logger logger = LoggerFactory.getLogger(Application.class); @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } /** */ public static void main(String[] args) { SpringApplication.run(Application.class, args); logger.debug("启动成功"); } }
4.打war包
4.1
点击第三部的+后选择web application Archive 下的 from ***, 就是你项目的地址,在右边的name中填写项目名称。
4.2
重新build项目
5.菜单 Build -->> build artifacts -->> all artifacts -->> Build
6.此时项目已经成功打包成war包,位置在项目结构的target下,以.war结尾的就是项目