springboot项目部署的两种方式

前言

前后端分离现如今为主流架构,springboot构建web应用,可以快速的打成jar包然后启动服务。

此外,springboot还可以打成war包,在外部tomcat上部署服务,此时,项目内若存在applcation.properties配置的server.port将不起作用。

一、jar包部署

  1. idea打开创建好的springboot工程,在maven中使用package打包(springboot工程默认打成jar)

    springboot项目部署的两种方式_第1张图片

  2. 在target中找到打包好的jar包目录,打开cmd,使用命令行: java -jar 跟上jar包名称

    springboot项目部署的两种方式_第2张图片
    springboot项目部署的两种方式_第3张图片

  3. 注意pom中设置的项目的jdk版本和本地环境的jdk版本需要一致

        
            1.8
        
    
  4. 启动成功即可测试

springboot项目部署的两种方式_第4张图片

二、war包部署

  1. pom修改打包方式

    war
    
  2. pom文件添加servlet的jar包依赖

            
                javax.servlet
                javax.servlet-api
                provided
            
    
  3. 排除springboot内置的tomcat干扰

            
                org.springframework.boot
                spring-boot-starter-web
                
                    
                        org.springframework.boot
                        spring-boot-starter-tomcat
                    
                
            
    
  4. 改造启动类,核心启动类 继承SpringBootServletInitializer,并重写configure方法

    @SpringBootApplication
    public class SpringbootBaseApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringbootBaseApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(SpringbootBaseApplication.class);
        }
    }
    
  5. 在IDE的命令行使用mvn clean命令清除旧的包,并使用mvn package生成新的war包

springboot项目部署的两种方式_第5张图片

  1. 启动本地tomcat运行 或者 将生成的war包丢到tomcat所在的webapps目录下,启动tomcat即可

springboot项目部署的两种方式_第6张图片


jar包和war包方式对比

  1. 打jar包时不会把src/main/webapp下的内容打到jar包里,而打war包会
  2. 提供rest服务的项目需打成jar包,而又大量css、js、html而且需要经常改动的项目,打成war包运行比较方便,因为改动静态资源可以直接覆盖,很快看到改动后的效果

你可能感兴趣的:(springboot,spring,boot,java,后端)