Maven学习归纳(一)——简单的环境配置入门
一、Maven的基本概念
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的编译,测试,构建,报告和文档的软件项目管理工具和解决依赖关系的工具。
1.1 项目的构建
项目的构建是高度自动化、跨平台,可重用的组件,使用Maven就可以帮我们完成一个完整的标准化项目构建过程。Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本。
1.2 依赖管理
除了项目构建,Maven最核心的功能是软件包的依赖管理,能够自动分析所需要的依赖软件包,并到Maven的中心仓库去下载
1.3 使用Maven的好处
a) 管理依赖的jar包:使用Maven,以规范的方式下载jar包,因为所有知名框架或第三方工具的jar包已经按照统一的规范存放到了Maven的中央仓库中。Maven不仅帮你导入需要的包,还会将该jar包所依赖的jar包都自动导入进来。
b) 管理工程之间的依赖关系:项目非常大的时候,可使用Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作。而且模块之间可以发送消息。
c) 节约空间:使用Maven,将jar包仅仅保存在“仓库”中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间。
二、Maven的下载与环境的配置
1. Maven的下载地址:http://maven.apache.org/download.cgi

2.下载后直接解压:
存放路径自己决定,我是放在C:\Program Files\Java路径下。
3.配置maven环境:
我的电脑->属性->高级系统设置->新建环境变量:
MAVEN_HOME : 变量值为刚解压的maven路径, C:\Program Files\Java\apache-maven-3.5.2

Path: %MAVEN_HOME%\bin

4. 验证是否配置Maven成功
使用win+R打开cmd窗口,然后输入命令:mvn -v
若出现一下信息,则说明Maven已经安装成功了

三、Maven项目的认识及基本配置
3.1 Maven目录分析
bin:含有mvn运行的脚本
boot:含有plexus-classworlds类加载器框架
conf:含有settings.xml配置文件
lib:含有Maven运行时所需要的java类库
LICENSE.txt, NOTICE.txt, README.txt:针对Maven版本,第三方软件等简要介绍
3.2 Maven的版本规范
maven的配置文件看似很复杂,其实只要根据项目的实际背景,设置个别几个配置项而已。
maven有自己的默认配置,使用者除费必要,并不需要修改那些约定内容,这就是所谓的“约定优于配置”
每个阶段的任务都知道怎么正确完成自己的工作,比如compile任务就知道从src/main/java下编译所有的Java文件,并把它的输出class文件存放在target/classes中。
对maven来说,采用"约定优于配置"的策略可以减少修改配置的工作量,也可以降低学习成本。
MavenProjectRoot(项目根目录)
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
| |----test
| | |----java ——存放所有测试.java文件,如JUnit测试类
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目

3.3 修改本地仓库位置
找到Maven目录: maven目录/conf/setting.xml
默认本地仓库:
修改本地仓库: D:\Maven_LocalRepository

3.4 新建一个简单的HelloWrold项目


3.5 修改默认jdk为JavaSE-1.8

3.5 选择自己安装的installations,去掉系统默认给的
打开设置,在上面输入maven,弹出下面这个界面

默认勾选的去掉勾,自己再add一个本地的来

最终如下显示:

3.6 继续设置本地仓库路径
上面打开的窗口先别关,往下看到User Settings选项


3.7 将国外Maven镜像修改成阿里云镜像
因为默认的Maven国外镜像下载Maven依赖包的时候很慢很慢很慢,改成阿里云镜像快很多。
在maven安装目录下的setting.xml文件上,找到<mirror> </mirror>,将下面这坨代码复制进去
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

以上就是Maven的简单环境配置入门 ~ o(* ̄▽ ̄*)o
Maven学习归纳(一)——简单的环境配置入门的更多相关文章
- Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳
Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 Sublime Text3 for ...
- MyBatis学习笔记(一):MAVEN的下载,安装与环境配置和在IDEA中配置maven
一.下载 官网下载 :http://maven.apache.org/download.cgi 网速慢的也可以下载我配置好的国内阿里云仓库的.以下以我配置好的为例: 下载链接:https://pan. ...
- google protobuf学习笔记:windows下环境配置
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743 protobuf的使用和原理,请查看:http:/ ...
- Maven的下载、安装与环境配置
在创建一个项目时,搭建环境往往是编写具体代码的先决条件,而获取到所有需要的jar包是其中的重中之重.起初,人们在需要jar包的时候总会在网上四处查找,而且如果不知道某jar包版本的更迭,写出的代码或许 ...
- Lex与Yacc学习(一)之环境配置篇
Abstract 在开发程序的过程中经常会遇到文本解析的问题,例如:解析 C 语言源程序,编写 脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用 C 或者 C++直接编写解析程序,这 ...
- maven的不同版本下载及环境配置
Maven不同版本下载及环境配置 Maven下载 去到官网 https://maven.apache.org/ 会发现是最新版本,但是一般下载的话,都会下载比最新的版本要低两到三个小版本的,这里就下载 ...
- TestNG+Maven+IDEA 环境配置+入门
一.环境配置 1.安装IDEA(参考:https://blog.csdn.net/m0_38075425/article/details/80883078) 2.在Prefernces,通过Plugi ...
- Java开发学习(三十七)----SpringBoot多环境配置及配置文件分类
一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配 ...
- Maven学习之(一)基本配置
安装maven还几次没成功,不过最后还是查资料成功了,所以记录一下. 1.安装JDK,比较简单,就不说明了. 2.配置java的环境变量 JAVA_HOME (最开始因为java配置成C:\Progr ...
随机推荐
- python骚操作---Print函数用法
---恢复内容开始--- python骚操作---Print函数用法 在 Python 中,print 可以打印所有变量数据,包括自定义类型. 在 3.x 中是个内置函数,并且拥有更丰富的功能. 参数 ...
- .NET World——gPRC概览
什么是gRPC 官方的定义: gRPC is a modern open source high performance RPC framework that can run in any envir ...
- Kubernetes 再深入一点点
kb master 运行如下容器 etcd 是 k8s 的核心, 主要负责k8s的核心数据处理及保存, 需要备份该数据,或者做集群 ,服务端口 2379(客户端服务) 2380(节点通信)kube-c ...
- 纯数据结构Java实现(1/11)(动态数组)
我怕说这部分内容太简单后,突然蹦出来一个大佬把我虐到哭,还是悠着点,踏实写 大致内容有: 增删改查,泛型支持,扩容支持,复杂度分析.(铺垫: Java语言中的数组) 基础铺垫 其实没啥好介绍的,顺序存 ...
- Reactive 漫谈
目录 概念 面向流设计 异步化 响应式宣言 参考文档 概念 Reactive Programming(响应式编程)已经不是一个新东西了. 关于 Reactive 其实是一个泛化的概念,由于很抽象,一些 ...
- [HNOI2009]双递增序列(动态规划,序列dp)
感觉这个题还蛮难想的. 首先状态特别难想.设\(dp[i][j]\)表示前i个数,2序列的长度为j的情况下,2序列的最后一个数的最小值. 其中1序列为上一个数所在的序列,2序列为另外一个序列. 这样设 ...
- JavaScript算法实现——排序
在计算机编程中,排序算法是最常用的算法之一,本文介绍了几种常见的排序算法以及它们之间的差异和复杂度. 冒泡排序 冒泡排序应该是最简单的排序算法了,在所有讲解计算机编程和数据结构的课程中,无一例外都会拿 ...
- Mybatis-plus的使用
接口mapper需要继承BaseMapper<要操作的类>外加@Mapper mport org.apache.ibatis.annotations.Mapper; import org. ...
- win7 部署tomcat
1,下载 jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html 2,下载t ...
- Linux--shell的awk--10
一.awk介绍 全称:由Aho Weinberger Kernaighan三个人的首字母组合而成 1970年第一次出现在Unix机器上,后来在开源领域使用它 awk是一种单独的编程语言解释器 awk报 ...