idea使用Spring Initializer创建springboot项目的坑【保姆级教学】

项目场景:

提示:这里先简述项目创建后遇到的问题和解决方案:

idea 使用 Spring Initializer 创建springboot项目后,
有以下问题:

① 右键没有Run
② 右键New新建文件发现无Java Class选项

然后解决掉 ①② 问题后出现新的问题:

③ @SpringBootApplication 注解爆红找不到引用
④ pom依赖能下载但是加载不到本地


项目创建和解决方案

提示:下面开始逐步演示创建过程遇到的问题和解决方案

① - File ——> New ——> Project

在这里插入图片描述

② - 选择默认Default,然后Next

在这里插入图片描述

③ - Type选择默认Maven,然后Next

在这里插入图片描述

④ - 勾选上 Web 模板,然后Next

在这里插入图片描述

⑤ - 选择好项目的位置,点击【Finish】:

在这里插入图片描述

默认创建好的项目结构如下:

在这里插入图片描述

这时候项目没有爆红,但是出现了三个问题:
① 只有pom爆红
② 右键没有Run
③ 右键New新建文件发现无Java Class选项

① 只有pom爆红

在这里插入图片描述

② 右键没有Run

在这里插入图片描述

③ 右键New新建文件发现无Java Class选项

在这里插入图片描述

先解决问题 ① 只有pom爆红,设置项目maven路径

在这里插入图片描述

然后选中pom.xml右键如图下载依赖到maven仓库

在这里插入图片描述

下载过程中有可能会遇到这个错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project demo5: Fatal error compiling

在这里插入图片描述

这是因为:maven-compliler-plugin版本与maven版本不一致,Maven版本太低或maven-compiler-plugin版本过高。
想了解的可以自行去搜【JDK对应的Maven版本】。

因为我是JDK 1.8,所以降低maven-compiler-plugin版本
注意:上面创建过程虽然选择JDK1.8但是实际pom里还是17

在这里插入图片描述

改完之后重新下载依赖到仓库

在这里插入图片描述

这时候还是有可能遇到问题:

在这里插入图片描述

在pom.xml文件中添加以下依赖,或者把工程的测试类删除也行

        <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency>

我这里选择添加依赖,改完之后重新下载依赖到仓库

在这里插入图片描述

下载成功后,去仓库看下发现确实多了很多文件

在这里插入图片描述

在这里插入图片描述

三个问题现在解决了一个,接下来解决剩下两个:
① 只有pom爆红
② 右键没有Run
③ 右键New新建文件发现无Java Class选项
问题二三其实是同一个问题,
选中src右键如图操作

在这里插入图片描述

Sources 描述: 一般用于标注类似 src 这种可编译目录。有时候不仅 src 目录需要可编译,还有其他一些特殊目录也需要可编译,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点要注意。

操作后发现② ③问题已经解决,但是出现了新的问题:
导入依赖的代码都变红

在这里插入图片描述

在这里插入图片描述

问题就在这里: 没有将需要的pom依赖自动加载到项目
选择 File -> Project Structure -> Project Settings -> Modules:

在这里插入图片描述

解决方案:删除下面文件
在这里插入图片描述

然后重新Reimport,如果没反应就关闭idea,然后打开就会自动加载依赖到项目

在这里插入图片描述

注意:这里包结构自动发生了变化,并且依赖也加载了

在这里插入图片描述

这两个地方是一一对应的

在这里插入图片描述

项目默认端口号8080,可以设置一个不重复的然后测试是否能启动

在这里插入图片描述

右键 run

在这里插入图片描述

启动成功,端口号是上面设置的

在这里插入图片描述


补充1:

上面 选中src右键如图操作设置为 Sources,应该直接选中java设置的。
这两种应该都可以,
即使选择src设置,关闭项目后再打开也会自动变化的,
上面逐步演示的步骤就是选中src右键设置为 Sources

在这里插入图片描述


补充2:

之所以这么详细写这个文章,
是因为我在dea使用Spring Initializer创建springboot项目遇到的这些坑,
网上去查,
实在是没看到有人碰到了我出现的这么一系列问题,
很疑惑大家真的创建springboot如此顺利吗?
也许是的,
不过这个如果有人碰到上述问题,
这里将给你一个解决方案作为备选。

最后关于删除的文件可以参考:
链接: 什么是maven wrapper?


补充3:

走捷径:使用阿里云的镜像。
这是后面网上看到的一个方案,一步到位,不会遇到上面的问题。

在这里插入图片描述

最终结构图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/160553.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

总结:JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例

总结&#xff1a;JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例 一方法调用顺序是按照英文字母顺序从A-Z二该示例可以用作servlet中request的API参考&#xff0c;从而知道该如何获取哪些路径参数等等三Servlet的API版本5.0.0、JSP的API版本&#xff1a;…

WordPress 常规设置页面调用媒体中心上传图片插入URL(新版可用)

首先&#xff0c;我们需要在主题或插件文件夹中创建一个 JavaScript 文件&#xff08;如&#xff1a;media-uploader.js&#xff09;&#xff0c;该文件中包含如下代码。 /*** 媒体中心上传 js **/ jQuery(document).ready(function($){var mediaUploader;$(#upload_image_but…

软件工程与计算总结(十七)软件构造

一.概述 1.定义 软件构造是以编程为主的活动&#xff0c;类似于软件实现。但软件构造又不止编程这么简单&#xff0c;除了核心的编程任务之外&#xff0c;还设计详细设计&#xff08;数据结构与算法设计&#xff09;、单元测试、集成与集成测试以及其他活动~ 2.软件构造是设计…

多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09; 目录 多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09;预测效果基本描述模型描述程序设计参考资料 预测效果 基本描…

【vim 学习系列文章 10 -- vim 将代码中空格高亮显示方法】

文章目录 vim 高亮空格使用背景如何配置vim 可以自动显示空格呢&#xff1f;vim highlight 命令使用介绍vim 空白行的处理vim match 命令详细介绍 vim 高亮空格使用背景 开发人员在编写代码之后&#xff0c;在review通过之后会将代码推到服务器然后merge&#xff0c;但是有些代…

uni-app--》基于小程序开发的电商平台项目实战(五)

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;uni-app &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

【C语言进阶】自定义类型:结构体,枚举,联合

自定义类型&#xff1a;结构体&#xff0c;枚举&#xff0c;联合 1.结构体1.1结构体类的基础知识1.2结构的声明1.3特殊的声明1.4结构的自引用1.5结构体变量的定义和初始化1.6结构体内存对齐1.7修改默认对齐1.8结构体传参 2.段位2.1什么是段位2.2段位的内存分配2.3位段的跨平台问…

【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门

💠一名热衷于分享知识的程序员 💠乐于在CSDN上与广大开发者交流学习。 💠希望通过每一次学习,让更多读者了解我 💠也希望能结识更多志同道合的朋友。 💠将继续努力,不断提升自己的专业技能,创造更多价值。🌿欢迎来到@"衍生星球"的CSDN博文🌿 🍁本…

Chrome使用本地修改过的js替换原js内容

步骤 1.进入开发人员工具&#xff1a;按F12 或 按ctrlshitfi 或 菜单“更多工具”->“开发人员工具” 2.在“源代码/来源”页面找到需要更改的js文件&#xff0c;“右键”->“替换内容” 3.在弹出的标签点击“选择文件夹”来选择一个存放内容的本地文件夹 4.弹出的询问标…

Excel——对其他工作表和工作簿的引用

一、引用其他sheet页表区域 若希望在公式中引用其他工作表的单元格区域&#xff0c;可以在公式编辑状态下&#xff0c;通过鼠标单击相应的工作表标签&#xff0c;然后选择相应的单元格区域。 例1 跨sheet页引用其他工作表区域 如图1所示的工作表Sheet2为工资表。 在Sheet1表…

【Golang】grpc环境踩的坑

关于’protoc-gen-go’ 不是内部或外部命令 这个问题的出现是因为没有这个文件导致的 这个文件要通过我们下载的google.golang.org这个文件编译生成的 这里建议下载google提供的grpc包 protobuf的源码&#xff1a; git clone https://github.com/golang/protobuf 下载好之后进…

如何把视频压缩变小?

如何把视频压缩变小&#xff1f;大家都知道&#xff0c;视频一般都伴随着很大的文件体积&#xff0c;&#xff1a;尤其是现在的视频大多是高清晰度的&#xff0c;因此视频文件的体积就更加的大&#xff0c;视频体积太大会给我们带来很多的不便&#xff0c;主要是以下这几点&…

诚迈科技董事长王继平出席中国(太原)人工智能大会并发表演讲

10月14日—15日&#xff0c;2023中国&#xff08;太原&#xff09;人工智能大会在山西省太原市举办。诚迈科技在大会上全面展示了其在人工智能领域的一系列创新技术与解决方案&#xff0c;诚迈科技董事长、统信软件董事长王继平受邀出席产业数字化转型论坛并发表主题演讲&#…

【特纳斯电子】基于单片机的火灾监测报警系统-实物设计

视频及资料链接&#xff1a;基于单片机的火灾监测报警系统-实物设计 - 电子校园网 (mcude.com) 编号&#xff1a; T0152203M-SW 设计简介&#xff1a; 本设计是基于单片机的火灾监测报警系统&#xff0c;主要实现以下功能&#xff1a; 1.通过OLED显示温度、烟雾、是否有火…

docker拉取镜像错误missing signature key

参考地址&#xff1a;docker拉取镜像错误 missing signature key-CSDN博客 linux系统&#xff0c;使用docker拉取的时候&#xff0c;报错如下 missing signature key 就一阵莫名其妙&#xff0c;之前还好好的&#xff0c;突然就不行了 按照网上说的方法&#xff0c;查看doc…

Ant Design Vue设置表格滚动 宽度自适应 不换行

Ant Design Vue设置表格滚动 宽度自适应 不换行 添加以下属性即可解决这个问题&#xff1a; <a-table :columns"columns" :data-source"list":pagination"false"bordered:scroll"{ x: max-content }" >

【QT开发(8)】QT 中使用tensorrt

在之前的文章《【TensorRT&#xff08;2&#xff09;】研究美团tech的yolov6的TensorRT部署》说明了tensorRT 的使用流程。今天尝试将其并入QT 项目中。 文章目录 项目地址参考资料&#xff1a;该分支主要做的工作Task 1:读取视频文件&#xff0c;然后通过 dds 发送的事情Task…

银河麒麟你服务x86访问ftp服务器上的文件

打开我的电脑 地址栏输入 ftp地址 可以选择需要的文件复制出来了

pytorch 入门(二)

本文为&#x1f517;小白入门Pytorch内部限免文章 &#x1f368; 本文为&#x1f517;小白入门Pytorch中的学习记录博客&#x1f366; 参考文章&#xff1a;【小白入门Pytorch】教案二&#x1f356; 原作者&#xff1a;K同学啊 目录 一、神经网络的组成部分1. 神经元2. 神经网络…

PyQt界面里如何加载本地视频以及调用摄像头实时检测(小白入门必看)

目录 1.PyQt介绍 2.代码实现 2.1实时调用摄像头 2.2 使用YOLOv5推理 2.3 代码中用到的主要函数 1.PyQt介绍 PyQt是一个用于创建桌面应用程序的Python绑定库&#xff0c;它基于Qt框架。Qt是一个跨平台的C应用程序开发框架&#xff0c;提供了丰富的图形界面、网络通信、数据…