Spring Boot Maven Plugin Documentation
示例
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<id>repackage</id>
<configuration>
<excludeDevtools>true</excludeDevtools>
<jvmArguments>
-Xms4096M
-Xmx4096M
-XX:NewRatio=2
</jvmArguments>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<goals>
<!--可以把依赖的包都打包到生成的Jar包中-->
<goal>repackage</goal>
</goals>
</exclude>
</excludes>
</configuration>
</execution>
</executions>
<configuration>
<addResources>true</addResources>
<mainClass>com.du.mons.MvcSpringBootApplication</mainClass>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
spring-boot-devtools
若项目引入了spring-boot-devtools,默认spring-boot-devtools 会被打在包里,若想排除,应设置 repackage 的 excludeDevtools参数为true。在打war包时,还应将spring-boot-devtools 的optinal设置为true或将scope设置为provided。
mainClass
repackage 会在Manifest文件中写入Main-Class and Start-Class属性。当默认值不能使程序正常运行时,可以通过插件配置。Manifest文件位于的META-INF文件夹中。
项目的启动类
addResources
插件支持资源热更新,通过将addResources置为true来启用热更
启用热更后,运行时, src/main/resources 文件夹被加入类路径, target/classes 文件夹下的副本被删除