阅读 953

新版IDEA 2020.1碰到的一个小坑

报错信息描述

使用新版idea创建了一个springboot项目,运行build时发生如下报错.

Error:(3, 32) java: 程序包org.springframework.boot不存在
Error:(4, 46) java: 程序包org.springframework.boot.autoconfigure不存在
Error:(5, 40) java: 程序包org.springframework.boot.builder不存在
Error:(6, 52) java: 程序包org.springframework.boot.web.servlet.support不存在
Error:(9, 34) java: 找不到符号
符号: 类 SpringBootServletInitializer

诡异的是,使用mvn打包却是正常的,能生成正确的jar并且能通过命令行启动 后来通过查阅资料得知新版IDEA需要在Setting里将 delegate IDE build/run actions to Maven勾选上即可

其它

在解决这个问题的过程中,还了解到使用spring-boot-maven-plugin这个插件打的jar的结构会和普通插件maven-jar-plugin的有些不一样。spring-boot-maven-plugin将所有应用启动运行所需的jar全部包含进来了,具备独立运行的条件。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
>/plugin>
复制代码

spring-boot-maven-plugin打包的jar目录:

而使用普通插件打包的结构如图:

之前也没怎么注意,学习了。