SpringBoot项目部署

Springboot项目部署有两种方式,分别为:打包为jar、war

jar包和war包到部署服务器的区别和优缺点

1、部署war包

1)将war包解压,将里面的内容放到服务器项目的目录下;

2)重启服务器;启动tomcat的时间会有些长,约2~3分钟

优点:war包一旦部署成功,如果代码有更改只需替换掉需要更改的代码,不需要再次部署;

缺点:重启了服务器上的tomcat,在你关掉tomcat的一瞬间,这上面部署的所有项目都不能用,如果你的项目启动失败,也会导致tomcat一直处于关机状态,别的项目就会一直无法访问。

2、部署jar包

1)将打包好的jar包直接放在目录下;

2)cd 你的项目根目录;

3)启动jar包

部署jar包相对于war对其他项目的影响几乎为0,一i那位它只需要部署tomcat,并重启tomcat,因为它自身带有tomcat,所以我们不需要额外部署tomcat,但是我们需要运行jar包,这个项目才算运行起来。

优点:哪怕你的项目到处都是错误,bug,也不会影响到其他项目

缺点:每次修改逻辑代码,都需要重启jar包,重新部署。

打包成jar包

方式一:命令生成方式

实现思路:

在cmd中对应的项目路径下输入mvn install,这样做会在项目的target目录下生成一个jar文件,接着输入java -jar target/springboot-0.0.1-SNAPSHOT.jar,就启动了这个jar,通过这种方式,把此jar上传到服务器并运行,就可以达到部署效果。

1、找到springboot项目存储位置

右键项目名,菜单中选中show in explorer

SpringBoot项目部署_第1张图片

找到springboot项目存储地址

 

 2、生成jar

切换到命令提示符(注意:要先关闭idea中springboot项目启动,否则会出现8080端口占用的情况)

使用mvn install,在项目对应target目录下,生成一个jar文件SpringBoot项目部署_第2张图片

 3、运行jar

java -jar target/springboot-0.0.1-SNAPSHOT.jar

SpringBoot项目部署_第3张图片

 4、检验是否部署成功

在浏览器访问

SpringBoot项目部署_第4张图片

 方式二:idea maven组件生成

idea中的右上角找到Maven,点击install即可

SpringBoot项目部署_第5张图片

下面依照方式一运行jar,并在浏览器访问

打包成war

步骤如下:

1、添加war注解@ServletComponentScan

2、继承SpringBootServletnitializer

3、排除内部tomcat

1、修改Application

打包war需要修改Application

新加 @ServletComponentScan注解,并继承SpringBootServletnitializer。

package com.example.springbootdemo1;

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.servlet.support.SpringBootServletInitializer;

/**
 * 启动器
 */
@ServletComponentScan
@SpringBootApplication
public class Springbootdemo1Application extends SpringBootServletInitializer {

    public static void main(String[] args) {

        SpringApplication.run(Springbootdemo1Application.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
        return builder.sources(Springbootdemo1Application.class);
    }

}

2、修改pom.xml

新加打包成war声明:

SpringBoot项目部署_第6张图片

 war

 spring-boot-starter-tomcat修改为provided方式,以避免和独立tomcat容器的冲突

与tomcat相关联的依赖,要进行屏蔽处理,因为war是放到外部tomcat服务器中的。

SpringBoot项目部署_第7张图片


        
            org.springframework.boot
            spring-boot-starter-tomcat
            
            provided
        

SpringBoot项目部署_第8张图片

 


            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    
                    true
                
            

3、web.xml生成

没有wab.xml打war包会报错,接下来我们来生成web.xml

共性问题:没有webapp文件夹,需要手动创建并设置

SpringBoot项目部署_第9张图片

SpringBoot项目部署_第10张图片

 如若没有蓝色的标记,需要设置web resource directory

SpringBoot项目部署_第11张图片

这样就可以出现蓝色图标

4、生成war 

可以使用命令在命令提示符中生成,也可以用idea maven组件生成,这楼里采用idea maven生成。 

先执行maven clean->maven install

SpringBoot项目部署_第12张图片

SpringBoot项目部署_第13张图片 

5、重命名后部署

 用springbootdemo1-0.0.1-SNAPSHOT.war这个文件名部署,那么访问的时候就要在路径上加上springbootdemo1-0.0.1-SNAPSHOT,名字太长,可以重命名为springdemo1.war然后把文件放进tomcat的webapps目录下。

SpringBoot项目部署_第14张图片

SpringBoot项目部署_第15张图片 

6、检验是否部署成功

SpringBoot项目部署_第16张图片 

 

 

你可能感兴趣的:(spring,boot,java,jar)