快速在本地运行SpringBoot项目的流程介绍
目录
前言
一、环境配置
1.1Java环境
1.2Maven环境
1.3IntelliJ IDEA安装
1.4MySql安装
二、项目导入与启动的过程
2.1Maven镜像和本地仓库
2.1.2镜像配置
2.1.3配置本地仓库
2.2导入项目与启动
2.2.1加载Maven设置
2.2.2配置jdk与java版本
2.2.3创建数据库
2.2.4修改数据库配置
2.2.5配置服务,启动项目!
三、Q&A
前言
本篇文字的内容可能十分小众,主要针对于有其他人的开源的SpringBoot项目,需要在本地上运行的uu,会给大家介绍一下SpringBoot项目启动的流程,以及我初次接触SpringBoot项目启动时遇到的问题。没错,我就经历了这个很小众的过程。
虽然一般这种项目都会带有.md文件,但是毕竟是人家的开源项目,.md文件只会告诉你大致的流程,不会手把手教你,对于没有基础,但又由于某些原因需要运行SpringBoot项目的uu来说,那可太折磨人了,一点点的小问题就可能会折磨你好久。
话不多说,进入正题。
一、环境配置
由于环境配置过程需要下载一些东西,至于下载过程什么的Bilibili或者其他博客一般都有非常详细的介绍,毕竟我也是看着其他人的介绍做的,所以具体的下载安装过程的话大家自行百度把。
环境已经配置过的,可以跳过这一部分看后边。
1.1Java环境
Java官网:Java Downloads | Oracle[这里是图片001]https://www.oracle.com/java/technologies/downloads/?er=221886
目前使用最多的Java版本是java 8,或者叫jdk1.8.最新的长期支持版本应该是jdk21,这个得看你的项目需要哪个版本,如果不是特别新的项目的话,一般都是使用的jdk 1.8,需要点击上图所示的Java archive,找到java 8,下载安装即可。

安装完成之后,记得配置环境变量:
右键点击我的电脑->属性->高级系统设置,


在下方的系统变量的地方,点击新建,变量名为JAVA_HOME,变量值选择你安装的JAVA的包含bin的目录

然后再双击系统变量里面的Path,新建一个 %JAVA_HOME%in。保存退出。

win+R输出CMD回车打开命令行,在CMD命令行输入
java -version
看到java版本信息,说明配置完成

1.2Maven环境
maven环境配置与java类似,需要下载并安装maven
maven的官网为:Maven – Download Apache Maven[这里是图片008]https://maven.apache.org/download.cgi
往下翻一点找到我们需要的Maven,选择下图框选的其中一个即可,建议选择.zip文件

安装完成maven之后,需要进行上文配置JAVA的环境变量的过程,只不过需要把上文提到的“JAVA_HOME”改为“MAVEN_HOME”,路径调整为MAVEN的路径即可。不过好像最新的MAVEN已经支持在安装时自动帮你配置好环境变量了,建议还是自己手动弄一下吧。


配置好之后,在CMD命令行输入,出现下图所示的版本信息,说明配置成功。另外多提醒一点,maven的简称一般为nvm。
mvn -version

1.3IntelliJ IDEA安装
IntelliJ IDEA是JAVA编译器,目前应该是使用的比较多的。
IntelliJ IDEA是JET BRAINS的一员。下载链接如下
一定要下载专业版!专业版需要付费!PDD搜一下IntelliJ IDEA就能搜到破解版脚本。社区版有些很关键的功能都没有,大概率会导致后续项目运行不起来(没试过)
IntelliJ IDEA – the Leading Java and Kotlin IDE (jetbrains.com)[这里是图片013]https://www.jetbrains.com/idea/安装破解流程这里就省略了
1.4MySql安装
MySql需要安装,没错,需要安装!
MySql安装有些复杂,还需要设置密码,不过自己设置的密码一般都是123456或者root,毕竟没人会攻击你电脑的数据库的。
安装之后需要启动MySql服务,一定确定在任务管理器->服务中的MySql的状态是正在运行,最好不要让它处于“自动启动”的状态,因为它一点也不“自动”

二、项目导入与启动的过程
2.1Maven镜像和本地仓库
前置配置,Maven从Maven仓库下载的默认地址是在国外,所以下载依赖的速度可能会很慢,而且默认下载的依赖都是在C盘,所以我们需要提前修改这些:
打开Maven路径下的conf目录,会看到setting.xml文件,这个就是maven的配置文件,我们可以使用记事本、Vscode、Idea等软件打开。

2.1.2镜像配置
找到标签,可以ctrl+F搜索mirror,将下属代码放到标签下
nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public
在项目中查看大概是这个样子

2.1.3配置本地仓库
配置本地仓库主要是为了让下载的依赖不放在C盘,而是自己指定的路径。可以自行在C盘之外的盘符下载一个repository文件夹(名称随意),当做本地仓库的路径。
搜索标签找到的注释,然后赋值一下,把中间的值改成自己的仓库地址即可,我自己设置的如下,uu使用的时候需要改成自己的路径。
E:IDEsMaven epository

默认的仓库存储路径在c盘User/username目录下的.m2/repository目录,如果你以后都是用自己配置的本地仓库目录的话,可以把.m2/repository目录下的东西删了,可以节省C盘空间。
2.2导入项目与启动
导入项目的方法很多,在idea里选择文件->打开文件或者直接把项目的文件夹拖到idea图标里都可以打开,打开之后,打开之前可以先把项目里的.idea文件删除了,这个文件夹在我们自己使用idea时会重新自动生成,反而前辈留下的idea文件可能还会影响我们后续操作。
2.2.1加载Maven设置
打开项目后,项目的右下角会弹出找到Maven加载脚本,这时先不急着点击加载。因为这是加载就会使用默认的配置文件(现在构建会使用默认的下载地址以及默认的下载存放目录,而不是我们自己配置好的)

我们点击设置,搜索Maven,我们需要改Maven主路径,用户设置文件以及本地仓库地址。
因为IDEA会自带内置的Maven,但是我们一般都会希望使用我们自己的Maven。

这三个具体修改的地址,前边都已经进入过了,具体来说,Maven主路径就选择Maven下载安装的地址,加载到包含bin文件即可。用户设置文件选择在Maven主路径下的conf文件下settings.xml文件,就是我们刚才修改的哪个xml文件,仓库的话可改可不改,因为在我们自己的settings.xml文件里已经生命了本地仓库地址。如果修改的话直接选择刚才新建的本地仓库的地址就好。


做完这些之后,再点击右下角的加载maven项目。
如果你已经看不到这个选项了,那就关闭idea,在文件资源管理器打开项目,把.idea文件删除,重新在idea打开这个文件夹,就可以看到加载Maven脚本的选项了。
再重复一遍上述操作即可(手速快点)

在右侧看到maven的按钮,说明构建,点击一下进入maven项目的详细信息,点击一下刷新就可以自动下载所需的依赖了。
2.2.2配置jdk与java版本
找到项目结构的设置,java版本选择8,jdk选择1.8.当然这个具体用哪个版本的得根据项目,总之jdk的版本要与java版本一致。

找到项目中的pom文件,一般在源代码的根目录下:

找到其中的java version的配置,确保项目配置的java版本与这个一致。
2.2.3创建数据库
点击右侧数据源,选择添加数据源,首次进入会下载相关的驱动,点击下载即可。
在选择Mysql,输入用户名密码,点击测试连接,连接成功就可以点确定了。
这样子连接的是数据库的根目录,但是我们项目一般只用根目录的其中一个架构,我们暂时先这样,以后可以可以把数据源删了,重新连接数据源时,把数据库的那一栏填写上你数据库架构的名称即可。


一般的项目都会自带对应的Sql文件,这个文件包含了生成架构,生成表格以及生成表内的数据,我们可以在Idea里打开项目自带的sql文件(当然也可以选择使用navicat或者DataGrip等专门管理数据库的软件)。
打开Sql文件之后,右上角会提示选择数据源,我们只选择localhost即可,不需要选择具体的架构(只选择下图框选的靠右侧的哪个按钮)因为这些sql文件会生成架构,所以无论我们在那个架构运行,它总能生成新的架构。有点sql脚本只包含生成表格的,这时我们就需要先选择我们需要在那个架构里面生成表,在开始运行脚本了。
配置好数据源之后,ctrl+A选择所有脚本代码,再点击左上角的开始运行即可。
如果脚本太长,运行时卡死的话,也可以先选择一部分脚本运行,再运行接下来的脚本。

2.2.4修改数据库配置
这算是启动前的最后一步了,我们需要找到配置文件中设置的用户名和密码,改成我们自己的用户名和密码,这个配置可能出现在不同的配置文件中,相对来说比较难找,可能.md文件会提示需要修改哪里的配置文件,当然也可以在搜索框搜索password或者jdbc等关键字,找到设置数据库用户名和密码的地方,修改为自己的密码即可。

2.2.5配置服务,启动项目!
服务的配置不是必须的,但是为了方便我们启动项目之后,知道项目的端口是多少,建议还是配置一下。不然如果人家的banner里或者.md文件里没提到端口是多少的话,那你可就得自己在配置文件里找向项目端口了。
我们在左下角服务里面找到添加服务,添加SpringBoot服务。然后去尝试启动项目,启动完项目就可以看到对应的地址了

我们可以点击右上角的运行,或者找到src/main/java里面的***Application类,点击运行此类中的方法或者运行此类,或者在服务里找到对应的SpringB里的Application(首次运行不适用),右键点击运行。
多种运行方法选择一个即可。


运行完之后,就可以在左下角的服务里看到对应项目的端口了,点击端口就可以快速跳转到对应的网页。

三、Q&A
Q:需要为项目指定jdk
A:点击项目结构,为项目指定jdk版本和java版本,一般是jdk1.8和java8,要与文件的pom文件中中对应,详见2.2.2。
Q:找不到方法
A:检查项目结构中的jdk版本和sdk版本,要与项目匹配。
Q:Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
A:根据提示,把搜索项目中的“com.mysql.jdbc”,改为“com.mysql.cj.jdbc”即可,其实就是配置数据库密码时上边的那句话
Q:启动项目后,在服务内的SpringBoot内看不到对应的端口
A:win+R,输入:
%temp%
这里面都是临时缓存文件,关闭idea,Ctrl+A全选,再delete删除,遇到正在使用删除不了的,点击跳过,为所有项目都选择填过即可(这样还可以顺便清理一点C盘内存)。再次打开idea重启项目。
如果大家有其它关于前后端的问题也可以留言。博主最近也在学相关的知识。
相关文章:
快速在本地运行SpringBoot项目的流程介绍
目录 前言 一、环境配置 1.1Java环境 1.2Maven环境 1.3IntelliJ IDEA安装 1.4MySql安装 二、项目导入与启动的过程 2.1Maven镜像和本地仓库 2.1.2镜像配置 2.1.3配置本地仓库 2.2导入项目与启动 2.2.1加载Maven设置 2.2.2配置jdk与java版本 2.2.3创建数据库 2.2…...
【后端开发面试题】每日 3 题(三)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:https://blog.csdn.net/newin2020/category_12903849.html 📚专栏简介:在这个专栏中,我将会分享后端开发面试中常见的面试题给大家~ ❤️如果有收获的话&#x…...
Java容器异常分析与恢复实战指南
引言 在云原生时代,Java应用的容器化部署已成为主流。然而,容器环境下的异常处理相比传统部署模式更为复杂,特别是在处理内存溢出(OOM)、资源限制和服务恢复等方面面临新的挑战。本文将结合实战经验,系统讲解Java容器异常的分析方法、恢复策略与最佳实践。 一、容器化Java异常…...
SpringBoot 端口配置
在Spring Boot中,配置应用程序的监听端口有多种方式。以下是常见的几种方法: 1. 通过 application.properties 或 application.yml 文件配置 application.properties server.port8081application.yml server:port: 8081如果没有显式配置 server.port…...
Python 数据结构 4.单向链表
惟愿春日不迟,相逢终有时 —— 25.3.2 一、单向链表的基本概念 1.单向链表的概念 对于顺序存储的结构,最大的缺点就是:插入 和 删除 的时候需要移动大量的元素,所以基于前人的智慧,他们发明了链表。 链表是由一个个结…...
LeeCode题库第四十题
40.组合总和II 项目场景: 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示…...
AI日报 - 2025年3月2日 - 推特版
AI日报 - 2025年3月2日 - 推特版 🌟 今日概览(60秒速览) ▎🤖 AGI突破 | Anthropic预测AGI将于2027年实现 🔬 Sholto Douglas加入团队,开源社区推动AGI竞赛加速 ▎💼 商业动向 | 腾讯发布Hunyua…...
Kotlin语言特性(一):空安全、扩展函数与协程
Kotlin语言特性(一):空安全、扩展函数与协程 一、引言 Kotlin作为Android官方推荐的开发语言,相比Java具有诸多现代化特性。本文将重点介绍Kotlin三个最具特色的语言特性:空安全、扩展函数和协程,并结合A…...
玩转大模型——deepseek本地部署与ollama 非C盘安装之ChatBox配置
文章目录 ollama安装ollama是什么DeepSeek是什么下载地址非C盘安装配置大模型目录大模型下载安装deepseek-r1:1.5b安装deepseek-r1:7b ChatBox安装参考资料 ollama安装 ollama是什么 Ollama 是一个专注于本地运行大型语言模型的工具。它允许用户在本地环境中部署和运行各种开…...
面试题:说一下你对DDD的了解?
面试题:说一下你对DDD的了解? 在面试中,关于 DDD(领域驱动设计,Domain-Driven Design) 的问题是一个常见的技术考察点。DDD 是一种软件设计方法论,旨在通过深入理解业务领域来构建复杂的软件系统。以下是一个清晰、详细的回答模板,帮助你在面试中脱颖而出: DDD 的定义…...
【构建企业级Spring Boot应用:从基础到高级的全面指南】
摘要 本文旨在为开发者提供一份详尽的指南,帮助大家深入理解并掌握如何使用Spring Boot框架来快速开发企业级应用程序。通过实际案例分析、代码示例以及架构设计思路分享,读者不仅能够学习到理论知识,还能获得宝贵的实践经验。本文将涵盖从环…...
DAV_postgresql_3-schema
schem介绍: 什么是schema? 用户对象的集合叫做模式 不同模式下的对象可以同名 可以把用户下对象根据业务分类,不同的对象放在不同的模式 一个用户可以创与拥有多个模式 一个模式只能属于一个用户 普通用户创建模式需要授权指定数据库下的创建权限…...
Hive-04之存储格式、SerDe、企业级调优
一、主题 hive表的数据压缩和文件存储格式hive的自定义UDF函数hive的JDBC代码操作hive的SerDe介绍和使用hive的优化 二、要点 1. hive表的文件存储格式 Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC&…...
信号和槽
connect(信号发送者,发送的信号,信号接收者,信号的处理); 信号函数和槽函数的参数必须是一样的,但信号的参数可以多余槽函数的参数(前面的参数类型必须一致) 是控件和控件间的信号传递,这两个…...
从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(八) 聊天框用户列表
简单画了个聊天框 就是咱们的HomePage.jsx 1.后端接口开发 在server/src/index.js 新增 messagesRoutes 先引入 import messageRoutes from ./routes/message.route.js // 消息接口 app.use(/api/messages, messageRoutes) 在routes文件夹下新建message.route.js 有3个路…...
关于后端使用Boolean或boolean时前端收到的参数的区别
当后端使用的是Boolean时,调用的方法是setIsLoginUser,前端收到的参数的参数名是isLoginUser 而当后端使用的是boolean时,调用的方法是setLoginUser,前端收到的参数的参数名是loginUser 封装类和基本数据类型在使用时需要注意这…...
智能称重搬物寻迹小车(论文+源码)
1 系统设计方案确定 本次设计的总系统有以下几个模块分别是避障模块,循迹模块,二维码扫描电路,称重电路,LCD显示电路和电机驱动模块,而且这几个模块都是由单片机stm32控制的,整个系统的框图如下图所示。其…...
使用 ASP.NET Core 创建和下载 zip 文件
对于最近的一个功能,我必须从用 ASP.NET Core 编写的内部网站下载一批文件。在下载文件之前对其进行压缩,结果证明这是一种轻松实现多文件下载的好方法。.NET 提供了所有需要的功能,在本文中,我将向您展示如何实现它。 首先&#…...
“深入浅出”系列之音视频开发:(12)使用FFmpeg实现倍速播放:技术细节与优化思路
一、前言 在音视频处理领域,倍速播放是一个常见的需求,尤其是在视频播放器、在线教育平台等场景中,用户常常需要以不同的速度播放视频内容。然而,实现一个高质量的倍速播放功能并不容易,尤其是在处理音频时࿰…...
dify绑定飞书多维表格
dify 绑定飞书和绑定 notion 有差不多的过程,都需要套一层应用的壳子,而没有直接可以访问飞书文档的 API。本文记录如何在dify工具中使用新增多条记录工具。 创建飞书应用 在飞书开放平台创建一个应用,个人用户创建企业自建应用。 自定义应…...
SQL server配置ODBC数据源(本地和服务器)
本地配置 1. 控制面板中找到系统ODBC数据源(打开控制面板直接搜) 2. 选择“系统DSN”,点击“添加” 3. 选择“SQL server” 4. 名称和描述自己填,服务器选择本机设备名称 5. 选择ID和密码验证,并填写本地SQL server登…...
LogiSim教程
一、LogiSim是什么 Logisim是一种设计数字电路的工具。 二、安装LogiSim 下载地址 https://sourceforge.net/projects/circuit/ 此软件需要java运行环境。 三、使用LogiSim (一)界面 Logisim界面分为菜单栏、工具栏、资源管理器,属性表…...
RAP: Efficient Text-Video Retrieval with Sparse-and-Correlated Adapter
标题:RAP:基于稀疏相关适配器的高效文本视频检索 原文链接:RAP: Efficient Text-Video Retrieval with Sparse-and-Correlated Adapter - ACL Anthology 发表:ACL-2024(NLP领域CCF A类) 摘要 文本-视频检索(TVR࿰…...
I2C驱动(十一) -- gpio模拟的i2c总线驱动i2c-gpio.c分析
相关文章 I2C驱动(一) – I2C协议 I2C驱动(二) – SMBus协议 I2C驱动(三) – 驱动中的几个重要结构 I2C驱动(四) – I2C-Tools介绍 I2C驱动(五) – 通用驱动i2c-dev.c分析 I2C驱动(六) – I2C驱动程序模型 I2C驱动(七) – 编写I2C设备驱动之i2c_driver I2C驱动(八) – 编写I2C…...
不要升级,Flutter Debug 在 iOS 18.4 beta 无法运行,提示 mprotect failed: Permission denied
近期如果有开发者的 iOS 真机升级到 18.4 beta,大概率会发现在 debug 运行时会有 Permission denied 的相关错误提示,其实从 log 可以很直观看出来,就是 Dart VM 在初始化时,对内核文件「解释运行(JIT)」时…...
zjbdt
嵌入式软件工程师可以通过考取相关职业证书来提升专业能力和职业竞争力。以下是几种含金量较高且广受认可的证书: 1. NIEH 嵌入式技术工程师证书 颁发机构:教育部考试中心级别:初级、中级、高级内容:涵盖嵌入式系统的基础理论、开…...
【3天快速入门WPF】11-附加属性
目录 1. 步骤1:定义附加属性2. 示例代码3. 步骤2:在XAML中使用附加属性3.1. 示例代码4. 步骤3:扩展使用场景4.1. 示例代码5. 总结上一篇讲到了依赖属性,本篇主要想说一下附加属性。 在WPF中,附加属性(Attached Property)是一种特殊的依赖属性,允许你在不属于某个类的控…...
私有化部署大模型推理性能分析
从用户感知角度分析私有化部署的大模型推理性能,这里的用户感知包括响应速度、生成速度、系统可用性以及系统稳定性。大模型首先获取输入内容的字符串,将这部分内容转换为模型token,过模型推理,到最后输出第一个token的时间是ttft,从这以后&a…...
版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点
版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点 引言正文定义坐标点的类绘图显示代码直接连接两个坐标点引言 由于人工智能的加速普及,每次手动绘制版图都会觉得特别繁琐,作者本人在想可否搞一个自动化连接器件端口的算法,后期可以根据一些设定的限制进行避…...
UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
文章目录 引言一、open-type 基础概念1.1 核心作用1.2 通用使用模板 二、主流 open-type 值详解2.1 contact - 客服会话功能说明平台支持代码示例 2.2 share - 内容转发功能说明平台支持注意事项 2.3 getUserInfo - 获取用户信息功能说明平台支持代码示例 2.4 getPhoneNumber -…...
