分析
- 去本地仓库,检查是否有该jar包
${user.home}/.m2 - 去远程仓库查看,检查是否有该版本的jar包
通过对比,发现远程仓库里有了最新版本的路径,但是里面确没有jar包。
解决
通过分析,可以总结如下:
spring-boot-maven-plugin没有设置version,它会先去远程仓库找最新的版本,然后download到本地,然后完成maven操作等。但是远程仓库里没有相应的jar包,导致执行maven编译出错。因为远程仓库里已经有了最新版本的路径,它就不会使用已经存在的版本。
解决:
给spring-boot-maven-plugin指定具体的version,如下设置:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.3.0.RELEASE</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <classifier>boot</classifier> <mainClass>...</mainClass> </configuration> </plugin>