一般我们会在创建springboot多模块项目时添加公共模块,例如
--------------------------此时请注意,父工程 P 中pom不要添加springboot Maven编译插件!-------------------------------
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这个插件的作用是把模块打包成可执行的jar包,由于公共模块是其他模块的依赖,不可执行,所以不能用该插件打包
如果在父工程中添加了该插件,那么所有的子模块都会使用该插件打包,就会报错,找不到main class
所以,父工程和公共的依赖模块不要添加该插件,需要运行的子模块要添加,如果不添加打出的jar包运行时会报找不到主清单属性,这个插件的作用是把启动类添加到jar中的MANIFEST.MF文件里,该文件指明了程序的入口以及版本信息等内容
顺便带个IDEA的小功能,打包时会自动执行测试,如图配置则可以跳过测试直接打包