今天在使用 IDEA 直接创建一个SpringBoot项目的时候出现了一点点问题,在创建好项目时候Maven并没有将 pom.xml 文件中的依赖加载进来,一下是我的创建步骤以及详细的问题描述 >>>
1. 直接创建项目
-
打开IDEA之后,点击 New Project 创建项目
-
因为我们创建的是 SpringBoot 项目,所以选择 Spring Initializr 然后在右边选择自己的 JDK,starter service URL就用默认的,然后点击Next -
然后填写我们项目的一些信息,之后继续 -
然后选择自己所需要的依赖包,我这边选择了 Lombok 、Spring Web 、MySQL ,然后点击Next,最后再确认项目路径以及项目名,之后点击Finish,我们的项目就创建完成了 -
加下来问题就出现了,首先看项目目录,发现我们的启动类并没有被识别,包括Java文件夹也没有被设置为 Directiry -
我们手动添加一下,在main下面的 java 文件夹上面点击鼠标右键,然后选择 Mark Directory as 下的 Sources Root -
使用同样的方法将 test 目录下的 java 文件夹和 resources 也添加一下(注意:这里 java 文件夹要选择 Mark Directory as 下的 Test Sources Root ,resources 选择 Resources Root),之后的目录是这样的 -
现在看上去目录结构已经没有问题了吧,终于可以开始写我们的项目了,但是后来我发现这才是问题的开始。打开右边的Maven,会发现插件跟依赖全部没有加载进来 -
再看看项目结构这边,也是只有 JDK 我们创建项目的时候选择的依赖都是没有加进来的,刷新Maven也没用
这是通过直接创建 SpringBoot 项目时遇到的问题,暂时还没有解决掉,也不知道为什么,有小伙伴遇到同样问题的可以将你的解决办法分享一下哦
2. 在空文件夹创建模块
第二种方式就是直接创建一个空文件夹,然后用IDEA打开这个空文件夹,然后创建模块
-
打开文件夹之后点击左上角的 File,然后选择 Project Structure… 也可以是用快捷键 Ctrl + Alt + Shift + S -
进入之后选择左边的 Modules 然后点击右边的 “+”,选择 New Module -
剩下的步骤就跟之前直接创建项目的时候的步骤一样了,创建完成之后项目结构是这样的 -
我们发现这次创建之后不仅没有识别Java文件和相关文件夹,就连 pom.xml 文件都没有识别,然后我们右键点击 pom.xml 文件,然后点击 Add as Maven Project -
添加之后,这个项目会被自动识别,包括前面的资源文件夹和 Java 文件也会被识别到,此时的项目结构是这样的 -
查看一下依赖和插件,也是已经被加载出来了(这次我只添加了 Lombok) -
然后经过测试,这个项目可以正常使用,但是就是刚创建好之后不会识别maven项目,目前也没有解决,有遇到同样问题的小伙伴也可以分享一下你的解决方法哦
3. 通过空的Maven项目手动变成SpringBoot项目
这是现在一直在用,也没有遇到问题的创建方式:先创建一个空的Maven项目,然后再将所需要的SpringBoot的依赖导入,然后创建配置文件,再手动编写引导启动类
这里我就不具体写创建项目的步骤了,我贴一下引导启动类的代码以及一点点我发现的注意事项
启动类:
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
注意:
-
添加依赖时一定要先继承SpringBoot的父工程 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
<relativePath/>
</parent>
-
编写启动类的时候别忘了加上 @SpringBootApplication 注解 -
main方法里面是 SpringApplication 的 run() 方法,不要写成 SpringBootApplication -
配置文件多用 yml 配置文件
以上就是我在使用IDEA创建SpringBoot项目的时候遇到的问题,目前还没有找到解决办法,只能用空的Maven项目来创建项目,有知道原因以及解决方式的小伙伴可以分享一下你的解决方式哦!
|