springboot中将项目打成jar和war以及部署详细流程

写在前面:

在我们的实战开发的最后阶段,我们需要将自己写的项目打包放到服务器上。首先来了解一下打包的两种方式:

jar包:直接通过内置tomcat运行,不需要额外安装tomcat。如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置。内置tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。

war包:传统的应用交付方式,需要安装tomcat,然后放到waeapps目录下运行war包,可以灵活选择tomcat版本,可以直接修改tomcat的配置,有自己的tomcat日志输出,可以灵活配置安全策略。相对打成jar包来说没那么快速方便。

一.jar的打包和部署

1.我们在对写好的项目进行打包之前,只需要对pom.xml文件进行相关的修改,因为pom文件中有很多我们项目引入的依赖,这些依赖我们都不能进行改动,下面是我的pom文件,方便以后作为参照,为了保证准确性和完整性,关于我项目的一些依赖我没有进行删除,五个核心点在pom.xml中一一进行了标注:



4.0.0
com.baizhi
SpringBoot_day1
1.0-SNAPSHOT
    //核心点一:   jar
jar               
SpringBoot_day1 Maven Webapp

http://www.example.com

  UTF-8
  1.7
  1.7



  org.springframework.boot
  spring-boot-starter-parent
  1.5.7.RELEASE



  
  
    org.springframework.boot
    spring-boot-starter-web
  

  
  
    jstl
    jstl
    1.2
  
  
    org.springframework.boot
    spring-boot-starter-tomcat
  
  
    org.apache.tomcat.embed
    tomcat-embed-jasper
  

  
     
    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.3.2
  
      
    mysql
    mysql-connector-java
    5.1.38
  
  
    commons-dbcp
    commons-dbcp
    1.4
  

  
  
    org.springframework.boot
    spring-boot-starter-test
    test
  

  
  
    org.springframework.boot
    spring-boot-devtools
    true
  

  
  
    org.projectlombok
    lombok
    1.16.18
  



  SpringBoot_day1
  
  
    
      org.springframework.boot
      spring-boot-maven-plugin
        //核心点二:  版本最好是1.4.2.RELEASE,其他版本可能出现问题
      1.4.2.RELEASE
      
          //核心点三:com.baizhi.Application入口类的全限定名
        com.baizhi.Application
          //核心点四: JAR
        JAR
      
    
  
    //核心点五:  将静态资源也拷贝到相关目录下
  
    
    
      
      src/main/webapp
      
      META-INF/resources
      
        **/**
      
    
    
      src/main/resources
      
        **/**
      
      false
    
    
      src/main/java
      
        **/*.java
      
    
  


注意别入坑:pom文件中需要去除servlet-api这个依赖!!!

2.点击进行打包
springboot中将项目打成jar和war以及部署详细流程_第1张图片
3.打包成功和jar包的位置
springboot中将项目打成jar和war以及部署详细流程_第2张图片
4.找到jar的位置
springboot中将项目打成jar和war以及部署详细流程_第3张图片
5.dos窗口输入:java -jar SpringBoot_day1.jar

6.地址栏进行项目访问即可~

二.war的打包和部署

1.当使用外部的tomcat时 需要把内部的tomcat排除

 需要去掉下面的依赖: 	
		
            org.apache.tomcat.embed
            tomcat-embed-jasper
            provided
        
        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

2.对入口类做修改 extends SpringBootServletInitializer

 @MapperScan(basePackages = "com.baizhi.mapper")
 @SpringBootApplication
public class SpringbootJarApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootJarApplication.class, args);
    }
       /*针对war包使用*/
   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
       return builder.sources(SpringbootJarApplication.class);
   }
 }

3.pom.xml中必须将打包方式声明成war

4.插件中指定 main函数

5.使用maven指令打包,并将war包放置在Tomcat的webapps中。项目名即为war包的名字,端口号为当前所使用的Tomcat的端口号。

你可能感兴趣的:(Spring全家桶)