Java--SpringBoot-15-Spring Boot Maven Plugin-06

简介: Spring Boot Maven Plugin 总结一下下!

Spring Boot Maven Plugin 总结一下下!

  1. 初识Spring Boot Maven Plugin
  2. 自定义属性、默认值以及在命令行上SpringBoot开头的命令上覆盖属性
  3. Spring Boot Maven Plugin打包的一些配置。
  4. Spring Boot Maven Plugin对包中的内容进行layers-分层。
  5. $ mvn spring-boot:repackage


上面只玩了SpringBoot:repackage的一些东西,其实还有很多没玩。比如:

  • spring-boot:start
  • spring-boot:stop
  • spring-boot:help
  • spring-boot:build-info
  • mvn spring-boot:build-image
  • spring-boot:run
spring-boot:repackage,默认goal。在mvnpackage之后,再次打包可执行的jar/war,同时保留mvnpackage生成的jar/war为.originspring-boot:run,运行SpringBoot应用spring-boot:start,在mvnintegration-test阶段,进行SpringBoot应用生命周期的管理spring-boot:stop,在mvnintegration-test阶段,进行SpringBoot应用生命周期的管理spring-boot:build-info,生成Actuator使用的构建信息文件build-info.properties

打镜像以后会补充上,不过要到系统学完docker以后再说了。

下面是翻译的文档,大致扫了一眼,可以直接去官方文档学习,我就留个备份。

https://docs.spring.io/spring-boot/docs/2.5.x/maven-plugin/reference/htmlsingle/#introduction
使用Maven运行您的应用程序该插件包括一个运行目标,可用于从命令行启动您的应用程序,如以下示例所示:$mvnspring-boot:run可以使用arguments参数指定应用程序参数,还明确支持系统属性和环境变量。如果需要指定一些JVM参数(即出于调试目的),则可以使用该jvmArguments参数默认情况下,应用程序是在分支过程中执行的,并且在命令行上设置属性不会影响该应用程序。由于启用配置文件非常普遍,因此有一个专用的profiles属性可为其提供快捷方式-Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"尽管不建议这样做,但是可以通过禁用该fork属性直接从MavenJVM执行应用程序。这样做意味着的jvmArguments,systemPropertyVariables,environmentVariables和agents选项都将被忽略。在devtools运行时,它会在重新编译应用程序时检测到更改并自动刷新它。这不仅适用于资源,而且适用于代码。它还提供了LiveReload服务器,以便它可以在发生任何变化时自动触发浏览器刷新。还可以将Devtools配置为仅在静态资源发生更改时刷新浏览器(并忽略代码中的任何更改)。只需在您的项目中包含以下属性:spring.devtools.remote.restart.enabled=false在此之前devtools,该插件默认情况下支持资源的热刷新,现在已禁用它,以支持上述解决方案。您可以随时通过配置项目来还原它:<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><addResources>true</addResources></configuration></plugin></plugins></build>当addResources启用时,任何src/main/resources当你运行应用程序,并在任何重复found目录将被添加到应用程序类路径target/classes将被删除。这样可以热刷新资源,这在开发Web应用程序时非常有用。例如,您可以处理HTML,CSS或JavaScript文件,并且无需重新编译应用程序即可立即查看更改。这也是允许您的前端开发人员工作而无需下载和安装JavaIDE的一种有用方法。使用此功能的副作用是在构建时无法进行资源过滤。为了与repackage目标保持一致,目标run以这样的方式构建类路径:插件配置中排除的任何依赖项也将从类路径中排除。有时在运行应用程序时包含测试依赖项很有用。例如,如果要在使用存根类的测试模式下运行应用程序。如果您希望这样做,可以将useTestClasspath参数设置为true。这仅在运行应用程序时适用:repackage目标不会将测试依赖项添加到生成的JAR/WAR中。spring-boot:runorg.springframework.boot:spring-boot-maven-plugin:2.5.0-RC1在适当位置运行应用程序。必填参数classesDirectoryFile${project.build.outputDirectory}    
包含应打包到归档文件中的类和资源文件的目录。可选参数addResourcesbooleanfalse直接将Maven资源添加到类路径,这允许实时就地编辑资源。target/classes如果ClassLoader.getResources()调用了重复资源,则会阻止重复的资源出现两次。请考虑添加spring-boot-devtools到您的项目中,因为它提供了此功能以及更多其他功能。属性spring-boot.run.addResourcesagentsFile[]    
代理包的路径。注意:要使用此功能,需要进行分叉的过程。属性spring-boot.run.agentsargumentsString[]    
应该传递给应用程序的参数。commandlineArgumentsString命令行中应传递给应用程序的参数。使用空格分隔多个参数,并确保在引号之间包含多个值。指定后,优先于#arguments。属性spring-boot.run.argumentsdirectoriesString[]    
除了类目录之外的其他目录,应添加到类路径中。属性spring-boot.run.directoriesenvironmentVariablesMap应与用于运行应用程序的分叉进程相关联的环境变量列表。注意:要使用此功能,需要进行分叉的过程。excludeGroupIdsString用逗号分隔的要排除的groupId名称列表(完全匹配)。属性spring-boot.excludeGroupIdsexcludesList要排除的artifact定义的集合。该Exclude元素定义强制性groupId和artifactId性质和可选classifier性。属性spring-boot.excludesforkbooleantrue指示是否应分叉运行进程的标志。禁用分叉将禁用某些功能,例如代理,自定义JVM参数,devtools或指定要使用的工作目录。属性spring-boot.run.forkincludesList要包括的artifact定义的集合。该Include元素定义强制性groupId和artifactId性质以及可选的强制性groupId和artifactId性质和可选classifier性。属性spring-boot.includesjvmArgumentsString应该与用于运行应用程序的分叉进程相关联的JVM参数。在命令行上,请确保在引号之间包含多个值。注意:要使用此功能,需要进行分叉的过程。属性spring-boot.run.jvmArgumentsmainClassString主类的名称。如果未指定,将使用找到的第一个包含“main”方法的编译类。属性spring-boot.run.main-classnoverifyboolean标记为该代理需要-noverify。属性spring-boot.run.noverifyoptimizedLaunchbooleantrue是否应该优化JVM的启动。属性spring-boot.run.optimizedLaunchprofilesString[]    
弹簧轮廓激活。指定“spring.profiles.active”参数的便捷快捷方式。在命令行上使用逗号分隔多个配置文件。属性spring-boot.run.profilesskipbooleanfalse跳过执行。属性spring-boot.run.skipsystemPropertyVariablesMap传递给进程的JVM系统属性列表。注意:要使用此功能,需要进行分叉的过程。useTestClasspathBooleanfalse运行时进行标记以包括测试类路径。属性spring-boot.run.useTestClasspathworkingDirectoryFile该应用程序要使用的当前工作目录。如果未指定,将使用basedir。注意:要使用此功能,需要进行分叉的过程。属性spring-boot.run.workingDirectoryspring-boot:startorg.springframework.boot:spring-boot-maven-plugin:2.5.0-RC1启动spring应用程序。与run目标相反,这不会阻止并允许其他目标在应用程序上运行。此目标通常用于集成测试方案中,在该方案中,应用程序在测试套件之前启动,然后在测试套件之后停止。spring-boot:helporg.springframework.boot:spring-boot-maven-plugin:2.5.0-RC1在spring-boot-maven-plugin上显示帮助信息。调用mvnspring-boot:help-Ddetail=true-Dgoal=<goal-name>以显示参数详细信息。detailbooleanfalse如果为true,则显示每个目标的所有可设置属性。用户属性detailgoalString要显示帮助的目标的名称。如果未指定,将显示所有目标。属性goalindentSizeint2每个压痕级别的空格数应为正。属性indentSizelineLengthint80显示行的最大长度应为正。属性lineLength

END


下面是翻译的文档,大致扫了一眼,可以直接去官方文档学习,我就留个备份。

目录
相关文章
|
3天前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
11 2
【前端学java】如何从前端视角快速学习Maven
|
3天前
|
前端开发 Java Maven
【前端学java】全网最详细的maven安装与IDEA集成教程!
【8月更文挑战第12天】全网最详细的maven安装与IDEA集成教程!
16 2
【前端学java】全网最详细的maven安装与IDEA集成教程!
|
4天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
13 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4天前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
3天前
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
4天前
|
Java
pandora boot热点应用探索问题之maven-compiler-plugin耗时较长的问题如何解决
pandora boot热点应用探索问题之maven-compiler-plugin耗时较长的问题如何解决
|
7天前
|
Java Maven
SpringBoot 引用仓库中没有 第三方包 - 将jar 包安装本地 maven
SpringBoot 引用仓库中没有 第三方包 - 将jar 包安装本地 maven
10 0
|
7天前
|
Java Maven Windows
java -jar 启动 boot 程序 no main manifest attribute, in .\vipsoft-model-web-0.0.1-SNAPSHOT.jar
java -jar 启动 boot 程序 no main manifest attribute, in .\vipsoft-model-web-0.0.1-SNAPSHOT.jar
25 0
|
1月前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
1月前
|
存储 Java Maven
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is

推荐镜像

更多