• Spring Boot Jar包转War包 部署到Tomcat下


    原文:https://my.oschina.net/sdlvzg/blog/1562998

    我们都知道springBoot中已经内置了tomcat,是不需要我们额外的配置tomcat服务器的,但是有时这也可能是我们的一个瓶颈,因为如果我们需要对tomcat做集群或者一些优化的话是非常不方便的,所以我们仍然需要将springBoot的项目部署到外在的tomcat中,本文档主要介绍一下如何将jar包转换成war包。

    第一步、将SpringBoot的项目的打包方式设置为war,修改pom.xml文件如下:

    	<groupId>org.morecare</groupId>
    	<artifactId>mc-api-system</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
        <!--由Jar包转为War包-->
    	<packaging>war</packaging>
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.4.1.RELEASE</version>
    	</parent>
    	<name>mc-api-system</name>
    	<url>http://maven.apache.org</url>

    第二步、移除内嵌的tomcat模块,以及添加tomcat-servelt-api依赖,但是为了我们在本机测试方便,我们还需要引入它,修改pom.xml文件如下:

    <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>
    <!--本机测试方便,添加tomcat-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>  
    </dependency>
    <!--添加移除内嵌的tomcat模块-->
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-servlet-api</artifactId>
      <version>8.0.39</version>
    </dependency>
    

    第三步、添加war插件,用来自定义打包以后的war包的名称

    <!-- 自定义war包名称 -->
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <configuration>  
            <warSourceExcludes>src/main/resources/**</warSourceExcludes>  
            <warName>parent</warName>  
        </configuration>  
    </plugin> 

    第四步、修改入口方法 继承一个SpringBootServletInitializer类,并且覆盖configure方法

    package org.morecare;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.ServletComponentScan;
    import org.springframework.boot.web.support.SpringBootServletInitializer;
    
    /**
     * Spring Boot启动类
     * @author Administrator
     */
    @SpringBootApplication 
    @ServletComponentScan 
    @MapperScan("org.morecare.*.mapper") 
    public class SystemApplication extends SpringBootServletInitializer {
    	//修改入口方法 继承一个SpringBootServletInitializer类,并且覆盖configure方法
    	@Override  
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {  
            return application.sources(SystemApplication.class);  
        } 
    	
    	public static void main(String[] args) {
    		SpringApplication.run(SystemApplication.class, args);
    	}
    
    }
    

    完成以上四步,再通过Maven的打包方法,就可以把项目打包成War包,然后把项目部署到Tomcat下了

  • 相关阅读:
    九.GPIO中断试验3——GPIO中断驱动
    十.定时器EPIT——1EPIT的入门
    九.GPIO中断试验1——中断原理
    九.GPIO中断试验2——通用中断服务程序构成
    Django学习笔记〇六——项目2,图书管理系统
    博客项目——〇六 添加新文章——富文本编辑器、beautifulsoup的使用
    1月7日
    1月9日
    1月8日
    Scala泛型和上下界
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9546107.html
Copyright © 2020-2023  润新知