maven的介绍以及使用

1、什么是maven

maven是一个项目管理工具,一个依赖管理系统,maven通过项目对象模型来管理jar包(POM.xml文件)

2、maven的优点

1、maven使用了约定优于配置,这代表开发者不需要创建构造本身,开发人员不必提到每一个配置的信息。maven提供了合理的默认行为的项目。创建一个maven项目时maven会创建默认的项目结构。

2、maven不仅是构建工具,它还是依赖管理工具(管理项目中所依赖的jar包),maven提供了中央仓库,能够帮我们自动下载构件(jar包)到我们的本地仓库,这样减少了在多个项目中存在多个同样的jar包,

3、maven还在全世界为java开发人员提供了一个免费的中央仓库,几乎可以找到所有的开源jar包,

4、maven对于目录结构有要求,约定优于配置,用户在项目之间切换省区了学习成本

3、maven的依赖

什么是maven的依赖,maven的依赖是依赖的jar包,当将依赖配置到pom.xml文件中后,maven会编译pom.xml文件,会去本地仓库查找该依赖的jar包,如果没有则会去镜像仓库下载所依赖的jar包(镜像仓库需要手动配置),如果没有配置镜像仓库则会默认去中央仓库下载所依赖的jar包。

myeclipse中的maven的目录结构

4、maven的pom.xml标签

<!-- project为根节点 -->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion><!-- pom.xml文件的版本 -->

<groupId>com.cn</groupId><!-- 项目的包名 -->

<artifactId>test1</artifactId><!-- 项目名 -->

<!-- packaging最终打包格式:java project最终打包为jar,web project最终打包为war包 -->

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version><!-- 项目版本号 -->

<name>test1 Maven Webapp</name><!--项目的名称, Maven产生的文档用 -->

<url>http://maven.apache.org</url><!--项目主页的URL, Maven产生的文档用 -->

<dependencies><!-- 依赖配置 -->

<dependency><!-- 具体依赖 -->

<groupId>junit</groupId><!-- 依赖的包名 -->

<artifactId>junit</artifactId><!-- 依赖的项目名 -->

<version>3.8.1</version><!-- 依赖的版本号 -->

<scope>test</scope><!-- 使用作用域 -->

<!--  scope的作用域

compile默认的范围,编译测试运行都有效

provided在编译和测试时有效

runtime在运行和测试时有效

test只在测试时有效

system与本机系统相关联,可移植性差,移至到别的电脑因为路径不一致会报错

import导入的范围,它只使用在dependencyManagement中,表示从其他的pon中导入

-->

</dependency>

</dependencies>

<build><!-- 构建标签 -->

<finalName>test1</finalName><!--产生的构件的文件名,默认值是项目名(artifactId)加版本号(version)-->

</build>

</project>

5、下载maven

http://maven.apache.org/官方网站点击Download

选择apache-maven-3.5.0-bin.zip

或下载以下文件

maven的settings.xml文件配置

settings.xml文件位于maven目录下的conf文件夹下

settings.xml

下载该settings.xml放在maven目录下conf目录将原来的settings.xml替换后打开将节点<localRepository>节点为下载jar包存放的位置(最好不要写C盘)

6、在myeclipse中配置maven

打开myeclipse点击windowàPreferences  à搜索mavem

选择Installations  à点击Add

选择自己的maven解压的文件夹选择带有bin文件夹的一级

选择 User Settings

选择在maven目录下的conf目录下配置好的settings.xml文件

点击apply(应用)  à  OK

第一次配置会下载maven所需要的jar包

7、使用maven

点击Newà  Othreà选择maven Porject

选择org.apache.maven.archetypes包下的maven-archetype-wenapp这个模板  à点击Next

填写包名与项目名  à点击Finish

如果有报错说明没有添加javaEE的jar包  à右击项目名Build Path à  Add Libraies  à  Myeclipse Libraies

选择javaEE6.0

配置pom.xml的依赖则会自动下载依赖的jar包

8、如何配置项目依赖

打开项目的pom.xml文件在<dependencies/>节点中配置依赖的jar包

例:要使用mysql的驱动包

首先去网上查找依赖

打开https://mvnrepository.com/

搜索mysql

选择一个版本

粘贴到<dependencies/>节点中就会开始下载这个依赖jar包并导入倒项目中

9、推荐两个pom.xml依赖仓库的网址

https://mvnrepository.com/

http://search.maven.org/

maven的介绍以及使用的更多相关文章

  1. Maven详细介绍

    Maven 目录 1 什么是Maven? 2 Maven 的好处 3 获取和安装 3.1 获取 3.2 安装 3.2.1 环境变量的配置 4 设置本地仓库 5 创建简单的Maven实例 5.1 使用骨 ...

  2. 学习笔记——Maven实战(八)常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  3. maven仓库介绍

    maven仓库介绍 http://juvenshun.iteye.com/blog/359256

  4. maven系列(1)-maven的介绍与安装

    maven的介绍 maven是大名鼎鼎的Apache下的java构建工具. Apache Maven is a software project management and comprehensio ...

  5. maven的介绍及如何获取jar包

    本文转载自   https://www.cnblogs.com/whgk/p/7112560.html 该篇文章篇幅较长,大概的思路如下 maven的介绍,初步认识,获取jar包的三个关键属性 --& ...

  6. Maven实战(八)——常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  7. Maven实战(七,八)——经常使用Maven插件介绍

    我们都知道Maven本质上是一个插件框架,它的核心并不运行不论什么详细的构建任务,全部这些任务都交给插件来完毕,比如编译源代码是由maven-compiler-plugin完毕的.进一步说,每一个任务 ...

  8. (三)Maven仓库介绍与本地仓库配置

    1.Maven本地仓库/远程仓库的基本介绍 示意图: 本地仓库是指存在于我们本机的仓库,在我们加入依赖时候,首先会跑到我们的本地仓库去找,如果找不到则会跑到远程仓库中去找.对于依赖的包大家可以从这个地 ...

  9. Maven 使用介绍

    1,创建Project 先去官方网站下载一个最新版本http://maven.apache.org/download.cgi. 下载后解压,使用之前最好先将maven的bin目录设置到path环境变量 ...

随机推荐

  1. 《用 Python 学微积分》笔记 1

    <用 Python 学微积分>原文见参考资料 1. 1.多项式 f(x)=x3-5x2+9 def f(x): return x**3 - 5*x**2 + 9 print f(3) pr ...

  2. Kettle 数据抽取

    1.创建数据库连接 2.建立转换 3.指定源数据库和目标数据库的字段映射 一定要在「输出」中勾选「指定字段」,然后点按钮「Get All fields」,再「Enter mapping」,在弹出窗口映 ...

  3. RSA非对称加密算法

    基本定义: RSA公开密钥密码体制.所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制.在公开密钥密码体制中,加密密钥(即公开密钥 ...

  4. winform如何让窗体不显示Icon但在任务栏中显示Icon

    protected override void OnShown(EventArgs e) { base.OnShown(e); const int WM_SETICON = 0x80; Bitmap ...

  5. 解决Mac外接显示器分辨率不正确问题

    解决Mac外接显示器分辨率不正确问题 TAT: 今天被坑惨了,重新安装了Mavericks后,使用thunderbolt转VGA外接显示器时遇到了分辨率的问题:外接显示器支持1080P的分辨率,但在O ...

  6. 牛客-https://www.nowcoder.com/acm/contest/96/H

    链接:https://www.nowcoder.com/acm/contest/96/H来源:牛客网 题目描述 今天qwb要参加一个数学考试,这套试卷一共有n道题,每道题qwb能获得的分数为ai,qw ...

  7. UVALive-5713 Qin Shi Huang's National Road System (次小生成树)

    题目大意:有n个城市,要修一些路使得任意两个城市都能连通.但是有人答应可以不计成本的帮你修一条路,为了使成本最低,你要慎重选择修哪一条路.假设其余的道路长度为B,那条别人帮忙修的道路两端城市中的总人口 ...

  8. day31 堡垒机尾声 + Python与金融量化分析(一)

    堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...

  9. NOI Linux下Emacs && gdb调试方法

    1. 首先要配置emacs文件: (global-linum-mode t) (show-paren-mode t) (global-set-key (kbd "C-s") 'sa ...

  10. C++进阶4.C++知识整理

    C++知识整理(多益笔试) 20131012 前言: 还是关于笔试知识的整理,主要是面向对象的知识还有一些常见的语法知识. 1.还是C++内存管理的知识 C++中程序的内存分布如下: 栈:向下增长,可 ...