教你不用下载 maven,不用配置环境变量,在 idea 上创建 maven 项目
我的主页:2的n次方_
1. Maven
Maven是⼀个项⽬管理⼯具, 通过 pom.xml ⽂件的配置获取 jar 包,⽽不⽤⼿动去添加 jar 包,这样就大大的提高了开发效率
2. Maven 的核心功能
2.1. 项目构建
创建第一个 Maven 项目

Maven 提供了标准的,跨平台的自动化项目构建方式
当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别麻烦,, ⽽Maven 给我们提供了⼀套简单的命令来完成项⽬的构建

双击就可以执行上面的命令
打包就是把所有的 class 文件全部放在一起,打成 jar 包 或者 war 包,jar 包是把开发人员已经写好的一些代码进行打包,打好的 jar 包可以引入到其他项目中,也可以直接使用这些 jar 包中的类和属性,也可以打成可执行 jar 包,这样的包就可以通过 java -jar 命令来执行
war 包可以理解为是一个 web 项目,里面是项目的所有东西,通常用于网站
双击 package 之后就可以完成打包,左边就会多一个 target 目录,里面就有打好的 jar 包


2.2. 管理依赖
Maven 通过 pom.xml 文件的配置获取 jar 包,当前项目运行所需要的 jar 包就是依赖,例如 JDBC 的使用需要导入mysql-connector-java 的包,并且添加到项目中,使用 Maven 只需要在 pom.xml 文件中配置一下内容即可
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version>
</dependency>
然后点击一下 Maven 的刷新图标,或者点击右边的 Maven 图标然后再点刷新按钮即可

在导入上面的 jar 包之后发现除了 mysql 的包还导入了另外一个包,这就是依赖传递

例如下面导入 jar A 之后,B 和 C 也会导进来,这样就可能会发生依赖的冲突,例如导入了一个相同 jar 包的不同版本,这时就需要去判断使用哪个版本了,就需要进行依赖排除

一般情况下通过 Maven Helper 插件进行依赖排除比价方便

装完插件之后再打开 pom.xml 文件,最下面就会多一个依赖分析的选项

如果有冲突的话会有红色的显示

如果冲突的话,右键点击排除即可

然后配置文件中就会出现排除这个依赖的代码,exclusion 里面就是排除的依赖

注意:只要配置文件发生了改变就需要刷新一下 Maven
3. Maven 仓库
Maven 仓库本质上是一个目录,目录里边存放开发中的所有的依赖(包括 jar 包,插件等)
Maven 仓库分为本地仓库和远程仓库,远程仓库又有中央仓库,私服和其他公共库
3.1. 中央仓库
中央仓库是全球唯一的,服务于整个互联网,所有的依赖都是从中央仓库获取的
仓库地址:Central Repository:

可以通过 https://mvnrepository.com/ 来查询所需要的依赖
查询之后就可以选择所需要的版本,然后再点进去就可以看到 Maven 的配置方式,直接点击复制即可

3.2. 本地仓库
如果每次加载依赖都从中央仓库加载的话就会很慢,如果第一次加载先把中央仓库的依赖加载到本地仓库,之后再加载的时候就直接加载本地仓库就会快很多
在设置里面搜索 Maven,Maven的本地仓库地址,可以更改,也可以默认,settings.xml 文件可以配置一下国内源
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

上面只是对当前项目进行了设置,还需要设置之后创建的新项目

然后就是和刚刚一样的流程

3.3. 私有服务器
一般都是自己公司团队搭建的私有仓库,有了私服之后,Maven 依赖下载的顺序就又有了改变

4. 第一个 SpringBoot 项目的创建

这两个版本任选

选择 web

创建好之后就是这样的:

接下来写一个简单的启动项目:
@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){return "hello spring";}
}
在浏览器中输入路径就能运行了

相关文章:
教你不用下载 maven,不用配置环境变量,在 idea 上创建 maven 项目
我的主页:2的n次方_ 1. Maven Maven是⼀个项⽬管理⼯具, 通过 pom.xml ⽂件的配置获取 jar 包,⽽不⽤⼿动去添加 jar 包,这样就大大的提高了开发效率 2. Maven 的核心功能 2.1. 项目构建 创建第一个 Maven 项目 Maven 提供了标准的…...
linux 设置tomcat开机启动
在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为 tomcat.service 的 systemd 服务文件,并将其放置在 /etc/systemd/system/ 目录下。以下是一个基本的服务文件示例,假设Tomcat安装在 /usr/local/tomcat 路径下:…...
opencv出错以及解决技巧
opencv配置 一开始,include的路径是<opencv4/opencv2/…> 这样在using namespace cv的时候导致了报错, 所以在cmakelist中需要对cmake的版本进行升级。 set(CMAKE_CXX_FLAGS “-stdc14 -O0 -Wall”)-O0 表示在编译过程中不进行任何优化 对应的pac…...
Python爬虫进阶(实战篇一)
接,基础篇,链接:python爬虫入门(所有演示代码,均有逐行分析!)-CSDN博客 目录 1.爬取博客网站全部文章列表 ps:补充(正则表达式) 爬虫实现 爬虫代码: 2.爬…...
运维面试题(2)
ssh服务(重点)协议使用 端口 号:默认是 22, 可以是被修改的,如果需要修改,则需要修改 ssh 服务的配置文件:#/etc/ssh/ssh_config,可以通过这个配置文件来修改端口 端口号可以修改&am…...
Django CSRF Token缺失或不正确
在Django中,CSRF(跨站请求伪造)验证失败,提示“CSRF token missing or incorrect”的错误,通常是由以下几个原因造成的: 忘记在表单中添加 {% csrf_token %} 模板标签:这是最常见的原因之一。确…...
10.12Python数学基础-矩阵(下)
9.矩阵的转置 矩阵的转置(Transpose)是矩阵操作中的一种基本运算。它通过交换矩阵的行和列来生成一个新的矩阵。具体来说,如果 A 是一个 mn 的矩阵,那么它的转置矩阵 A^T 是一个 nm 的矩阵,其中 A^T 的第 i 行第 j 列…...
vue网络自学知识点汇总
初体验 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!--1.引入vue.j…...
Springboot项目Activemq延迟自定义消息完整代码案例(亲测可用)
1、porm.xml增加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId> </dependency> 2、application.properties增加配置 # 连接地址 spring.activemq.broker-url=fa…...
常见ElasticSearch 面试题解析(上)
前言 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch…...
训练VLM(视觉语言模型)的经验
知乎:lym 链接:https://zhuanlan.zhihu.com/p/890327005 如果可以用prompt解决,尽量用prompt解决,因为训练(精调)的模型往往通用能力会下降,训练和长期部署成本都比较高,这个成本也包…...
犬儒乐队热歌《阶梯》主观
犬儒乐队一直以来是中国独立音乐界的一支重要力量。他们的音乐作品总是充满创意与实验,擅长将不同的音乐元素融合在一起,给人带来耳目一新的感受。最近,犬儒乐队发布了一首新歌《阶梯》,让我们一起来评价一下这首作品。 首先&…...
多模态大语言模型(MLLM)-Blip3/xGen-MM
论文链接:https://www.arxiv.org/abs/2408.08872 代码链接:https://github.com/salesforce/LAVIS/tree/xgen-mm 本次解读xGen-MM (BLIP-3): A Family of Open Large Multimodal Models 可以看作是 [1] Blip: Bootstrapping language-image pre-training…...
flutter TabBar自定义指示器(带文字的指示器、上弦弧形指示器、条形背景指示器、渐变色的指示器)
带文字的TabBar指示器 1.绘制自定义TabBar的绿色带白色文字的指示器 2.将底部灰色文字与TabrBar层叠,并调整高度位置与胶囊指示器重叠 自定义的带文字的TabBar指示器 import package:atui/jade/utils/JadeColors.dart; import package:flutter/material.dart; im…...
【Fargo】9:模拟图片采集的内存泄漏std::bad_alloc
std::bad_alloc 崩溃。这样的内存分配会导致内存耗尽 is simulating an image of size 640x480 with 3 bytes per pixel, resulting in an allocation of approximately 921,600 bytes (or around 900 KB) for each image. The error you’re encountering (std::bad_alloc) ty…...
c# 前端无插件打印导出实现方式
打印 打印导出分布页 model List<界面的数据模型类> using WingSoft; using Newtonsoft.Json; <style type"text/css">.modal-content {width: 800px;}.modal-body {height: 400px;} </style> <script type"text/javascript">$(…...
数组的初始化,参数传递,和求和
在自己做的这个C语言解释器中,数组的使用非常简便。下面小程序是一个例子。演示了数组的初始化,参数传递, 和求和。 all[] { WA12,OR8,CA54, ID4, MT4, WY3, NV6, UT6, AZ11, CO10, NM5, ND3,SD3,NE4, KS6, OK7,TX40, MN10, WI10,IA6, MO10,…...
初始JavaEE篇——多线程(1):Thread类的介绍与使用
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 创建线程 1、继承 Thread类 2、实现Runnable接口 3、使用匿名内部类 1)继承Thread类的匿名内部类 2)…...
基于单片机的LED照明自动控制系统的设计
本设计主控核心芯片选用了AT89C51单片机,接入了光照采集模块、红外感应模块、继电器控制模块,通过控制发光二极管模拟教室智能灯组的控制。首先通过光敏感应的方式感应当前光照环境为白天还是夜晚,同时,红外感应模块感应是否有人。…...
C语言——头文件的使用
目录 前言头文件怎么包含 前言 这个专栏会专门讲一些C语言的知识,后续会慢慢更新,欢迎关注 C语言专栏 头文件怎么包含 在使用头文件的过程中,我们经常会遇到重定义、重复包含等问题,那么怎么编写头文件和使用头文件才能解决这些…...
通义千问1.8B-Chat应用案例:智能客服问答系统搭建实战
通义千问1.8B-Chat应用案例:智能客服问答系统搭建实战 1. 引言:用轻量模型解决真实业务问题 如果你正在为搭建一个智能客服系统而烦恼,觉得大模型成本太高、部署太复杂,那么这篇文章就是为你准备的。今天,我要分享一…...
Pixel Epic在产业研究院的应用:自动生成产业链图谱+关键节点分析报告
Pixel Epic在产业研究院的应用:自动生成产业链图谱关键节点分析报告 1. 产业研究的数字化革命 传统产业研究面临三大痛点:数据收集耗时、分析维度单一、报告产出周期长。研究人员往往需要花费数周时间手动整理产业链上下游关系,再通过Excel…...
从零开始:在PC上体验Nintendo Switch游戏的完整指南
从零开始:在PC上体验Nintendo Switch游戏的完整指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否想过在电脑上畅玩《塞尔达传说:王国之泪》、《超级马…...
多语言排版解决方案:Poppins开源字体的全方位应用指南
多语言排版解决方案:Poppins开源字体的全方位应用指南 【免费下载链接】Poppins Poppins, a Devanagari Latin family for Google Fonts. 项目地址: https://gitcode.com/gh_mirrors/po/Poppins 在全球化协作日益频繁的今天,如何为跨文化项目选择…...
3步彻底解决魔兽争霸3帧率限制:开源插件实战指南
3步彻底解决魔兽争霸3帧率限制:开源插件实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3的60FPS帧率限制而烦恼吗…...
GetQzonehistory:5分钟快速导出QQ空间全部说说的终极教程
GetQzonehistory:5分钟快速导出QQ空间全部说说的终极教程 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾经想要备份自己在QQ空间发布的所有说说,却发现…...
嵌入式FOC实战:从STM32到FPGA的电机控制精髓
1. 为什么需要FOC电机控制技术 第一次接触电机控制时,我被各种专业术语搞得晕头转向。直到亲手用STM32驱动一台伺服电机,才真正理解FOC(磁场定向控制)的价值。想象一下骑自行车:普通方波控制就像不断猛踩刹车和油门&a…...
s2-pro开源语音模型入门:Fish Audio s2-pro架构特点与适用场景解析
s2-pro开源语音模型入门:Fish Audio s2-pro架构特点与适用场景解析 1. 专业级语音合成新选择 s2-pro是Fish Audio最新开源的专业级语音合成模型镜像,为开发者提供高质量的文本转语音(TTS)能力。与常规语音合成工具不同,s2-pro最突出的特点是…...
Wan2.2-I2V-A14B提示工程实践:提升视频连贯性的5类prompt模板
Wan2.2-I2V-A14B提示工程实践:提升视频连贯性的5类prompt模板 1. 模型与镜像概述 Wan2.2-I2V-A14B是一款先进的文生视频模型,能够根据文本描述生成高质量视频内容。该模型通过私有部署镜像形式提供,已针对RTX 4090D 24GB显存配置进行深度优…...
Ostrakon-VL面试题库解析:如何应对视觉AI相关的Java八股文
Ostrakon-VL面试题库解析:如何应对视觉AI相关的Java八股文 1. 视觉AI与Java后端的结合点 视觉AI技术在Java后端开发中的应用越来越广泛,特别是在Ostrakon-VL这类多模态大模型场景下。作为Java开发者,需要掌握以下几个核心结合点:…...

