1.先在存放项目的文件夹中将项目文件夹建好 ,如 project_demo
注:STS创建maven项目时不允许直接选择workspace,必须选择workspace下的某个文件夹或STS工作路径中的某个文件,否则会报错,所以这里先建立好项目文件夹
2.STS创建Maven项目,File——New——project——maven project
3.勾选 create a simple project,选择第一步新建的文件夹,并勾选use default workspace location
4.填写Artifact信息
5.生成的maven项目目录结构如下:
6.此时项目名左方的图标上只有一个M表示Maven项目,而没有J,此时选中项目右键,是没有build path——configure build path...选项的,因为此时项目还不是Java项目,需要手动进行project
选中项目右键——properties——project facets,选中Java,点击apply and close
转换后的结构目录如下:
可以看到图标上多了一个J,但此时原本的文件夹都变成了包的样式,这是项目的编译路径的问题导致的。选中项目右键——build path——configure build path——Java build path
可以看到这里将根目录 src当做了编译文件夹,这样该文件夹下的文件夹就会以包的形式存在。
点击add folder,添加src/main/java 和 src/main/resources,去掉不要的路径。
同时还要设置class编译文件位置,如上图所示,默认的class编译路径是project_demo/build/class,即会在项目文件中build/class文件夹存放class文件,但maven默认的class存放路径是target/class,所以需要更改为maven默认的路径,不然class文件编译后,在target/class下找不到class文件,则会报“maven找不到或无法加载主类”的错误。
设置后结果如下:
点击apply and close后,项目结构如下,可以看到此时src/main/java 和 src/main/resources就是以文件夹的形式存在,此时就可以在文件夹下添加package,创建class了。
可以看到,此时只有JRE system library目录,没有Maven dependencies目录。
7.打开pom.xml文件,在里面添加springboot的parent节点,并添加spring-boot-starter-web依赖。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
update project后若没有Maven dependencies目录,则可以直接从文件资源管理器进入该项目所在文件夹,找到.classpath文件
此时.classpath文件内容如下:
将下面的内容拷贝进去
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
保存后,选择项目——右键——Maven——update project,结构目录:
这样,整个过程就走完了,后面就可以正常创建package,new class,进行code了