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 ...
随机推荐
- Ubuntu : apt-get 命令
apt-get 命令是 Ubuntu 系统中的包管理工具,可以用来安装.卸载包,也可以用来升级包,还可以用来把系统升级到新的版本.本文介绍 apt-get 命令的基本用法,演示环境为 Ubuntu 1 ...
- hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑
背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...
- 解决Sklearn中使用数据集MNIST无法获取的问题(WinError 10060)
今天在学习PCA的时候,使用mnist数据集遇到一个问题,代码是这样的: import numpy as np from sklearn.datasets import fetch_mldata mn ...
- .net测试篇之单元测试/集成测试神器Autofixture
autofixture简介 有了单元测试框架加上Moq(后面我们会用单独章节来介绍moq),可以说测试问题基上都能搞定了.然而有了AutoFixture对单元测试来说可以说是如虎添翼,AutoFixt ...
- NVIDIA: Failed to initialize NVML: driver/library version mismatch
[NVIDIA驱动:Failed to initialize NVML: driver/library version mismatch] 原因:Ubuntu16.04 装新驱动时,会报以上错误,定位 ...
- xpath中normalize-space的用法【转载】
下面这个菜单中,要点击“货运表现”,我们来看一下xpath, 菜单中的所有项的id都是“vertab”,所以不能用id来定位,那么先用文本的xpath试试 //a[text()='货运表现'] 发现定 ...
- 池化层的back proporgation 原理
转载:https://www.jianshu.com/p/6928203bf75b
- 初学HTML5做的小知识点
新增的HTML5标签 语义化标签 :<header> 头标签 <nav> 导航标签 <section> 表示文档的结构.栏目 < ...
- ionic app 优化三件套,让其更贴近原生app
这里推荐一个ionic大神的简书,里面有好多关于好多ionic的技术分享! http://www.jianshu.com/u/c2e637a941ef 捣鼓了好久的ionic,终于在优化过程终于有所进 ...
- Java并发编程——线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...