Maven 简介

1.Maven主要是基于Java平台的项目构建,依赖管理和项目信息

2.Maven是优秀的构建工具,跨平台,消除构建的重复,抽象了一个完整的构建生命周期模型,标准化构建过程

3.管理分布的项目信息,版本控制系统,轻松获取项目文档,测试报告,静态分析报告,版本日志报告等

4.极限编程(XP)的搭配是非常不错的,比如持续集成(CI)

5.在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件,构件存储在仓库,(仓库就是存放依赖和插件的地方),任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,

Maven 安装和配置(我使用的是Ubuntu)

1.去Maven的下载网页:http://maven.apache.org/download.cgi,我下载的是apache-maven-3.5.0-bin.tar.gz

2.检查Java的环境变量和版本:

zyd@kirohuji-X550MJ:~$ sudo echo $JAVA_HOME
[sudo] password for zyd:
/etc/jvm/jdk1.8.0_111
zyd@kirohuji-X550MJ:~$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

3.然后解压:

zyd@kirohuji-X550MJ:~/Downloads$ sudo tar -xvzf apache-maven-3.5.0-bin.tar.gz -C /opt

4.配置环境

zyd@kirohuji-X550MJ:~$ sudo gedit /etc/profile

在最下面添加代码

#maven
export MAVEN_HOME=/opt/apache-maven-3.5.0
export PATH=${PATH}:${MAVEN_HOME}/bin

完成!

重启生效或使用source /etc/profile代码

参看版本

mvn -version
Apache Maven 3.5. (ff8f5e7444045639af65f6095c62210b5713f426; --04T03::+:)
Maven home: /opt/apache-maven-3.5.
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /etc/jvm/jdk1..0_111/jre
Default locale: en_US, platform encoding: UTF-
OS name: "linux", version: "4.10.0-21-generic", arch: "amd64", family: "unix"

Maven目录的分析

bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,还包含了m2.conf文件,这是classworlds的配置文件

boot:就包含了一个文件,以这次的下载的版本,该文件是plexus-classworlds-2.5.2.jar,是一个类加载器框架

conf:这个目录用到的非常重要的文件setting.xml,直接修改该文件,就能在机器上全局地制定了Maven的行为

lib:该目录包含了所有Maven运行时需要的Java类库,Maven是分模块开发的,可以说lib目录就是真正的目录

最后一条简单的命令:

mvn help:system

该命令会打印出所有的java系统配置和环境变量,这些信息对我们日常的编程很有帮助,即会执行一条命令,会下载maven-help-plugin,包括pom文件和jar文件,然后放入本地仓库

,默认的本地仓库是在/home/{your name}/.m2文件,所有的Maven构件都被存储到仓库中,该文件夹里包含一个仓库:repository

Maven 插件

对于Maven,可以结合IDE使用,比如eclipse,Netbeans,IDEA,在此不做详解

Maven配置用户范围setings.xml

Maven用户可以选择配置M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围,对整台电脑有效,而后者是用户范围的,推荐使用用户范围的,

Maven目录结构

http://www.cnblogs.com/kirohuji/p/6953536.html

Maven系列学习(一)Maven基本知识的更多相关文章

  1. Maven系列学习(二)Maven使用入门

    Maven使用入门 通过上一节的学习,我们已经了解和配置好了Maven,接下来需要编写代码了 1.POM(Project Object Model,项目对象模型) 和Make的Makefile类似,M ...

  2. Maven系列学习(三)Maven生命周期和插件

    Maven生命周期和插件 Maven另外的两个核心概念就是生命周期和插件,Maven的生命周期都是抽象的,其实实际行为都是由插件来完成的,生命周期和插件两者协同工作 1.生命周期 Maven的生命周期 ...

  3. Maven基础入门与核心知识

    Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. Maven是一个项目管理和综合工具.Maven提供了开 ...

  4. Maven简介(Maven是什么)

    简介 Maven,在意第绪语中意为对知识的积累.Maven最初用来在Jakarta Turbine项目中简化该项目的构建过程.Jakarta Trubine项目有多个工程,每个工程都有自己的多个Ant ...

  5. maven之一:maven安装和eclipse集成

    maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...

  6. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  7. Eclipse中Maven工程缺少Maven Dependencies

    Eclipse在引入Maven工程后,找不到Maven Dependencies.使得代码报错,具体如下图所示: 而正常Maven的工程如下所示: 产生这种现象的原因可能是工程对应的开发环境改变,本地 ...

  8. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念

     1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...

  9. maven系列之一maven安装和与IDE集成

    第一部分:maven的基本信息和安装,配置  maven是一个项目构建和管理的工具,提供了帮助管理 构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行依赖管理.管理二进制库等 ...

随机推荐

  1. Django中用 form 实现登录注册

    1.forms模块 将Models和Forms结合到一起使用,将Forms中的类和Models中的类关联到一起,实现属性的共享 1.在forms.py中创建class,继承自forms.ModelFo ...

  2. 2019 Multi-University Training Contest 2 - 1009 - 回文自动机

    http://acm.hdu.edu.cn/showproblem.php?pid=6599 有好几种实现方式,首先都是用回文自动机统计好回文串的个数. 记得把每个节点的cnt加到他的fail上,因为 ...

  3. django信号相关

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre_in ...

  4. VS2019配置MKL教程(Windows)

    下载链接:https://software.intel.com/en-us/mkl 1.文件下载 官网注册后,选择MKL下载下来,安装到指定目录就行,不在多说. 2.配置文件 首先创建一个Window ...

  5. 【问题解决方案】git clone失败的分析和解决

    参考链接 git_clone资源获取失败解决 使用Git clone代码失败的解决方法 [Git] Clone failed 克隆失败的解决方法 问题描述: 无论是git clone还是pull,均失 ...

  6. Linux压缩、解压

    gzip压缩: 归档,压缩,yourFloder文件夹生成yourName.tar.gz: - tar -zcvf yourName.tar.gz yourFloder 解压yourName.tar. ...

  7. nativescript(angular2)——ListView组件

    NativeScript是一个不使用webview的情况下构建跨平台并且原生的iOS和Android应用.使用Angular.TypeScript或JavaScript来获得原生UI和性能体验,同时可 ...

  8. java 中Shallow Heap与Retained Heap的区别

    Shallow Size Shallow Size是对象本身占据的内存的大小,不包含其引用的对象.对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,而数组的ShallowS ...

  9. CentOS7安装MongoDB及基础操作

    安装环境说明 系统环境说明 [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ma ...

  10. C# List<object> 按特定字段排序

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...