maven的介绍以及使用
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的驱动包
首先去网上查找依赖
搜索mysql
选择一个版本
粘贴到<dependencies/>节点中就会开始下载这个依赖jar包并导入倒项目中
9、推荐两个pom.xml依赖仓库的网址
maven的介绍以及使用的更多相关文章
- Maven详细介绍
Maven 目录 1 什么是Maven? 2 Maven 的好处 3 获取和安装 3.1 获取 3.2 安装 3.2.1 环境变量的配置 4 设置本地仓库 5 创建简单的Maven实例 5.1 使用骨 ...
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- maven仓库介绍
maven仓库介绍 http://juvenshun.iteye.com/blog/359256
- maven系列(1)-maven的介绍与安装
maven的介绍 maven是大名鼎鼎的Apache下的java构建工具. Apache Maven is a software project management and comprehensio ...
- maven的介绍及如何获取jar包
本文转载自 https://www.cnblogs.com/whgk/p/7112560.html 该篇文章篇幅较长,大概的思路如下 maven的介绍,初步认识,获取jar包的三个关键属性 --& ...
- Maven实战(八)——常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Maven实战(七,八)——经常使用Maven插件介绍
我们都知道Maven本质上是一个插件框架,它的核心并不运行不论什么详细的构建任务,全部这些任务都交给插件来完毕,比如编译源代码是由maven-compiler-plugin完毕的.进一步说,每一个任务 ...
- (三)Maven仓库介绍与本地仓库配置
1.Maven本地仓库/远程仓库的基本介绍 示意图: 本地仓库是指存在于我们本机的仓库,在我们加入依赖时候,首先会跑到我们的本地仓库去找,如果找不到则会跑到远程仓库中去找.对于依赖的包大家可以从这个地 ...
- Maven 使用介绍
1,创建Project 先去官方网站下载一个最新版本http://maven.apache.org/download.cgi. 下载后解压,使用之前最好先将maven的bin目录设置到path环境变量 ...
随机推荐
- 锁(3)-- DB锁
1 前言 数据库大并发操作要考虑死锁和锁的性能问题.看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一 ...
- NSMutableString和NSString区别,及相互转换方法
NSString是一个不可变的字符串对象.这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间.而NSMutableS ...
- mysql术语
事务 概念:在关系数据库中,一个事物可以是一条sql语句,一组sql语句或整个程序. 特性:事物应该具有4个特性:原子性.一致性.隔离性.持久性.统称为ACID特性. 原子性(A)一个不可分割的工作单 ...
- Java BigInteger 与C# BigInteger之间的问题
最近接到一个Java代码转C#代码的项目.本来就两个函数看起来很简单的,后来折腾了一天,终于完美收官. 碰到的第一个问题是:java的BigInteger构造函数里面BigInteger(string ...
- Android数据库框架-----ORMLite关联表的使用
上一篇已经对ORMLite框架做了简单的介绍:Android数据库框架-----ORMLite 的基本用法~~本篇将介绍项目可能会使用到的一些用法,也为我们的使用ORMLite框架总结出一个较合理的用 ...
- CSU-1307-二分+dij
1307: City Tour Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 59 ...
- HDU 4696 Answers (脑补+数形结合)
题意 给一个图,每个点的出度为1,每个点的权值为1或者2.给Q个询问,问是否能找到一条路径的权值和M. 思路 由于每个点的出度为1,所以必然存在环.又因为c[i]只能取1或者2,可以组成任意值,所以只 ...
- 【转】Ubuntu 14.04 引导修复(Boot Repair)(双系统修复一)
这几天不是我闲着没事做,实在是电脑故意跟我过不去,一不小心,Windows就再也无法打 开了,然后的然后,你们都知道就是重装系统喽.但是重装系统后,会发现原来的Ubuntu引导不见了,开机直接进入Wi ...
- js常用正则表达式,滚蛋吧!你们测试组bug,让你挑
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- [置顶]
【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测
背景 我们通过之前的案例已经为大家介绍了如何通过常规的体检数据预测心脏病的发生,请见http://blog.csdn.net/buptgshengod/article/details/53609878 ...