一文简介Maven初级使用

一.概述 

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

  • 提供了一套标准化的项目结构
  • 提供了一套标准化的项目构建流程(编译,测试,打包,发布)
  • 提供了一套依赖管理机制 

一方面,不同的IDE的项目目录不尽相同,Maven的存在可以使得同一项目在不同的IDE之间通用。

标准的Maven项目配置目录如下:

 标准的项目构建流程如下:

 Maven提供了一套命令来完成项目构建: 

至于依赖管理,本质上就是管理项目所依赖的第三方资源。

未配置Maven的执行流程如下

 有了Maven,配置jar包,只需要简单的坐标配置即可实现,省略了寻找jar包的过程。

二.简介

Maven是一个项目管理和构建工具,它基于项目对象模型POM的概念,通过一小段描述信息来管理项目的构建、报告、文档。

Maven模型

仓库中提前存放了一些列jar包~

  • 本地仓库:自己计算机上的一个目录
  • 中央仓库:由Maven团队维护的全球唯一的仓库
  • 远程仓库(私服): 一般由公司团队搭建的私有仓库

项目如要使用jar包,先在本地仓库寻找;如果本地没有则先从中央仓库下载到本地,再进行下一步引用~

三.基本使用

1.下载并解压

下载路径:Maven – Download Apache Mavenicon-default.png?t=N7T8https://maven.apache.org/download.cgi

Maven文件的目录结构如下:

2.配置环境变量

(和jdk什么的一个道理,很简单不再赘述~) 

博主使用的是最新的3.9.6版本~ 

3. 配置本地仓库

进入conf目录下的setting.xml。

寻找被注释的如上这一行。

更改本地仓库的路径如上。(默认在C盘~) 

4.配置阿里云私服

在mirrors标签(镜像)中植入如下代码:

    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
    </mirror>

5.Idea集成Maven

选择IDEA中的file--Settings,搜索Maven,设置使用本地安装的Maven,并修改配置文件的路径。 如下:

 修改了本地的Maven配置后,自动加载出来了本地仓库。

有关Maven的坐标:

 

创建Maven项目:

 默认项目如下

导入Maven:(点击右侧栏的Maven~)

可视化地操作命令:

安装插件Maven helper:

看个人喜好~

6.常见命令

  • compile编译
  • clean清理
  • test测试
  • package打包
  • install安装

简单演示一下complie命令~ 


上面用的不是aliyun的私服,回去重新检查一下是没有删掉配置文件中默认的路径,修改后再次尝试test命令,效果如下:

7.生命周期

四.依赖管理

1.在pom.xml配置文件中编写<dependencies>标签

2.在其中,用<dependency>引入坐标

3.定义坐标的groupid、artificial、version等信息。

4.别忘了点击刷新按钮!

如下图(默认仓库的问题导致时间挺长的):
 

 快捷方式导入坐标:右键选择如下

模版引用网址:

Maven Repository: mysql » mysql-connector-java

五.依赖范围

了解一下即可。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第二八天 | 分割 子集

目录 复原IP地址子集子集 II LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II 复原IP地址 一些字符串的基本操作不会 s.insert(i 1, ‘.’); s.deleteCharAt(i 1); class Solution {List<String> result new ArrayList<>();public List<St…

【Kubernetes】kubectl top pod 异常?

目录 前言一、表象二、解决方法1、导入镜像包2、编辑yaml文件3、解决问题 三、优化改造1.修改配置文件2.检查api-server服务是否正常3.测试验证 总结 前言 各位老铁大家好&#xff0c;好久不见&#xff0c;卑微涛目前从事kubernetes相关容器工作&#xff0c;感兴趣的小伙伴相互…

交易之路:从无知到有知的五个阶段

交易是易学的&#xff0c;它的操作很直观&#xff0c;也是复杂的&#xff0c;它的价格很玄妙。在金融行业日益壮大的背景下&#xff0c;新人辈出&#xff0c;而弱者则逐渐退出。市场生态在不断变化&#xff0c;我们每个人在交易之路上所经历的种种&#xff0c;既清晰可见又模糊…

hummingbird,一个非常好用的 Python 库!

前言 随着人工智能和机器学习的快速发展&#xff0c;将训练好的模型部署到生产环境中成为了一个重要的任务。而边缘计算设备&#xff0c;如智能手机、嵌入式系统和物联网设备&#xff0c;也需要能够运行机器学习模型以进行实时推理。Python Hummingbird 是一个强大的工具&…

完全让ChatGPT写一个风格迁移的例子,不改动任何代码

⭐️ 前言 小编让ChatGPT写一个风格迁移的例子&#xff0c;注意注意&#xff0c;代码无任何改动&#xff0c;直接运行&#xff0c;输出结果。 额。。。。这不是风格转换后的结果图。 ⭐️ 风格迁移基本原理 风格迁移是一种计算机视觉领域的图像处理技术&#xff0c;它的目标…

基于 SpringBoot 和 Vue.js 的权限管理系统部署教程

大家后&#xff0c;我是 jonssonyan 在上一篇文章我介绍了我的新项目——基于 SpringBoot 和 Vue.js 的权限管理系统&#xff0c;本文主要介绍该系统的部署 部署教程 这里使用 Docker 进行部署&#xff0c;Docker 基于容器技术&#xff0c;它可以占用更少的资源&#xff0c;…

详解C++类和对象(中(类的6个默认成员函数))

文章目录 写在前面1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引入2.1 构造函数的特性 3. 析构函数3.1 析构函数的引入3.2 析构函数的特性 4. 拷贝构造函数4.1 拷贝构造函数概念4.2 拷贝构造函数的特性4.3 拷贝构造函数典型调用场景 5. 赋值运算符重载5.1 运算符重载5.2 …

力扣面试150 数字范围按位与 公共前缀 位运算

Problem: 201. 数字范围按位与 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考 复杂度 时间复杂度: O ( 1 ) O(1) O(1) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int rangeBitwiseAnd(int left, int right){int shift 0;while…

五、机器学习模型及其实现1

1_机器学习 1&#xff09;基础要求&#xff1a;所有的数据全部变为了特征&#xff0c;而不是eeg信号了 python基础已经实现了特征提取、特征选择&#xff08;可选&#xff09;进行了数据预处理.预处理指对数据进行清洗、转换等处理&#xff0c;使数据更适合机器学习的工具。S…

图数据库 之 Neo4j - Browser 介绍(3)

Neo4j Browser 介绍 Neo4j Browser 中有 3 个模块&#xff0c;侧边栏&#xff0c;Cypher 编辑器与结果栏&#xff0c;在进入 Neo4j Browser 时结果栏会展示欢迎界面。 Cypher 编辑器 Cypher 是一种图形查询语言&#xff0c;用于查询和操作图形数据库。它是 Neo4j 图形数据库的…

极限的反问题【高数笔记】

1. 什么是极限反问题&#xff1f; 2. 极限反问题分为几类&#xff1f; 3. 每一类极限反问题的具体做法是什么&#xff1f; 4. 每一类极限反问题具体做法是否有前提条件&#xff1f; 5. 例题&#xff1f;

板块一 Servlet编程:第一节 HTTP协议理论与服务器请求响应原理 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程&#xff1a;第一节 HTTP协议理论与服务器请求响应原理 一、HTTP特点二、HTTP中的 URL三、两种 HTTP 请求方法&#xff1a;GET 和 POST四、请求响应的底层请求头在服务器中表现响应头在服务器中表现 在上一个板块中我们完成了所有IDEA的基础配置工作&#xf…

深度测评:ONLYOFFICE 桌面编辑器 v8.0新功能

目录 前言 一、PDF表单处理&#xff1a;提升办公效率 二、RTL&#xff08;从右到左&#xff09;支持&#xff1a;满足不同语言习惯 三、Moodle集成&#xff1a;教育行业的新助力 四、本地界面主题&#xff1a;个性化办公体验 五、性能优化与稳定性提升 六、性能与稳定性…

C++泛编程(3)

类模板基础 1.类模板的基本概念2.类模板的分文件编写3.类模板的嵌套 在往节内容中&#xff0c;我们详细介绍了函数模板&#xff0c;这节开始我们就来聊一聊类模板。C中&#xff0c;类的细节远比函数多&#xff0c;所以这个专题也会更复杂。 1.类模板的基本概念 和函数模板一样…

Javascript入门学(基础)

软件篇 JS基础语法第一天 1.javascript介绍 1.1 js是什么 是什么 是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互效果&#xff0c;而html和css是标记性语言&#xff0c;并非编程语言有什么用 js的组成 htmlcssjs实现按钮点击功能 …

为什么程序员都不喜欢关电脑?

​​​​​​​我们百战卓越班的监管老师总是和我抱怨&#xff1a;这些学生们上完晚自习以后总是不记得关电脑&#xff0c;或者有的直接显示器都不管&#xff0c;直接把作业一交&#xff0c;拿上手机就走人了&#xff0c;这都是什么不好的习惯&#xff1f;难道他们都不喜欢关电…

树莓派智能自行车灯:亲,小心后方大卡车~

Raspberry Pi 计算模块 4 成本低、功耗低、结构紧凑、性能卓越&#xff0c;是 Velo AI 首次推出的道路安全产品的核心&#xff0c;该产品可提醒骑车人注意身后的车辆移动。 位于匹兹堡的 Velo AI 公司由机器人专家 Clarke Haynes 和人工智能专家 Micol Marchetti-Bowick 共同创…

政安晨:示例演绎TensorFlow的官方指南(一){基础知识}

为什么要示例演绎&#xff1f; 既然有了官方指南&#xff0c;咱们在官方指南上看看就可以了&#xff0c;为什么还要写示例演绎的文章呢&#xff1f; 其实对于初步了解TensorFlow的小伙伴们而言&#xff0c;示例演绎才是最重要的。 官方文档已经假定了您已经具备了相当合适的…

在容器中使用buildah构建镜像

简介 buildah是一个构建OCI标准镜像的工具&#xff0c;可以用来替代docker build 在常见的linux发行版中可直接通过包管理工具安装使用 # centos yum install buildah# ubuntu/debian apt install buildah# alpine apk add buildah其他发行版安装方法详见 github&#xff0c…

jsp教务管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 教务管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…
最新文章