当前位置: 首页 > news >正文

教你不用下载 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";}
}

在浏览器中输入路径就能运行了

http://www.lryc.cn/news/465066.html

相关文章:

  • linux 设置tomcat开机启动
  • opencv出错以及解决技巧
  • Python爬虫进阶(实战篇一)
  • 运维面试题(2)
  • Django CSRF Token缺失或不正确
  • 10.12Python数学基础-矩阵(下)
  • vue网络自学知识点汇总
  • Springboot项目Activemq延迟自定义消息完整代码案例(亲测可用)
  • 常见ElasticSearch 面试题解析(上)
  • 训练VLM(视觉语言模型)的经验
  • 犬儒乐队热歌《阶梯》主观
  • 多模态大语言模型(MLLM)-Blip3/xGen-MM
  • flutter TabBar自定义指示器(带文字的指示器、上弦弧形指示器、条形背景指示器、渐变色的指示器)
  • 【Fargo】9:模拟图片采集的内存泄漏std::bad_alloc
  • c# 前端无插件打印导出实现方式
  • 数组的初始化,参数传递,和求和
  • 初始JavaEE篇——多线程(1):Thread类的介绍与使用
  • 基于单片机的LED照明自动控制系统的设计
  • C语言——头文件的使用
  • LeetCode 精选 75 回顾
  • 【Unity - 屏幕截图】技术要点
  • 句句深刻,字字经典,创客匠人老蒋金句出炉,哪一句让你醍醐灌顶?
  • 柯尼卡美能达CA-310 FPD色彩分析仪
  • 二维EKF的MATLAB代码
  • 大数据治理:数据时代的挑战与应对
  • 绿联NAS免驱安装MacOS
  • 聊聊ASSERT处理在某些场景下的合理用法
  • SAP Odata 服务
  • 【java数据结构】栈
  • 从头开始的可视化数据 matplotlib:初学者努力绘制数据图