spring-boot-maven-plugin的工作机制

当我们使用springboot的时候,工程的pom.xml中通常会配置spring-boot-maven-plugin这个插件,它的工作机制是什么呢?

插件配置如下:


	
		
			org.springframework.boot
			spring-boot-maven-plugin
			
				com.wisea.demoh2.TestMain
			
			
				
					
						repackage
					
				
			
		
	

现在我们执行命令:mvn clean package,在控制台中输出如下:

[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ demo-h2 ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo-h2 ---
[INFO] Building jar: D:\IdeaProjects\demo-h2\target\demo-h2-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.0.3.RELEASE:repackage (default-cli) @ demo-h2 ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------

而我们的target目录里,会有一个jar和一个jar.original

spring-boot-maven-plugin的工作机制_第1张图片

可以看到

这个spring-boot-maven-plugin的目标在父工程sprint-boot-starter-parent中被指定为repackage,

而该插件repackage目标对应phase固定是package,所以当执行mvn clean package时,会自动触发

该插件的repackage目标。

它其实是先将maven-jar-plugin

打的普通jar包重命名成jar.original,然后重新打一个springboot的jar包

我们也可以去掉上面这段配置,而使用如下命令达到相同的效果

命令:mvn clean package spring-boot:repackage

 

 

你可能感兴趣的:(javaEE,maven)