spring-boot-maven-plugin插件 —— 默认打包配置

创建 Spring Boot 应用,默认会添加 Maven 插件:spring-boot-maven-plugin。如果项目结构比较简单,可以不用额外配置,使用默认的编译打包就可以。

执行 maven 打包命令时会自动触发 spring-boot-maven-plugin 插件的 repackage 目标,完成后会在 target 目录下生成两个 jar,如下图:

spring-boot-maven-plugin插件 —— 默认打包配置_第1张图片

命令执行后会在创建的 target 目录中会生成 2 个文件:

  • *.jar:可执行 jar,包含 pom 中的所有依赖,可直接用 java -jar 命令执行。
  • *.jar.original:是 Maven 在 Spring Boot 重新打包(repackage)之前创建的原始 jar文件,只有少量的用户类,不包含依赖。

执行 打包命令后,先是执行的 mvn 常规操作,创建普通 jar包,然后 spring boot repackage 将其重新命名为 *.jar.original 原始包, 在原始包的基础上添加项目依赖和起动类,最后打成可执行的 jar包。
 

pom.xml配置如下:


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            ${spring-boot-dependencies.version}
            
                
                    
                        repackage
                    
                
            
        
    

默认情况下,repackage 目标将用重新打包的包替换原始原包。

若项目结构比较复杂,如父子结构、多层结构或通过命令动态指定打包方式等,就需要额外的配置支持。

Goals 作用

  • build-info:根据当前 MavenProject 的内容生成一个build-info.properties文件。
  • help:显示帮助信息。调用mvn spring-boot:help -Ddetail=true -Dgoal=以显示参数详细信息。
  • repackage:默认的值,重新打包现有的 JAR 和 WAR 包,以便可以使用 java -jar 命令行来运行。使用 layout = NONE也可以简单地用于打包具有嵌套依赖关系的 JAR(并且没有主类,因此不是可执行文件)。简单的说就是生成可执行的jar包或war包。
  • run:运行一个可执行的应用
  • start:启动 Spring 应用程序。 与run目标相反,这不会阻止并允许其他目标在应用程序上运行。此目标通常用于集成测试方案中,在该方案中,应用程序在测试套件之前启动,然后在测试套件之后停止。
  • stop:停止已由 start 目标启动的 Spring 应用程序。 通常在测试套件完成后调用。

你可能感兴趣的:(Maven,maven,打包)