学习Java 的同窗就必定会学习Maven, 那么Maven为何会获得大量用户的使用呢?它是用来干什么的呢 ?接下来就来介绍apache
Q:Maven的做用?服务器
(1)Maven能够自动化构建项目,能够从清理、编译、测试到生成报告、打包、部署等等功能均可以自动化完成,将咱们从繁琐的工做中解脱出来eclipse
(2)解决项目的依赖繁杂以及版本不一致的问题maven
(3)Maven管理了项目中零散的信息,好比项目描述等,还能轻松得到项目文档、测试报告等等学习
(4)能够将分模块的项目更好地管理起来(Maven的继承和汇集)测试
Q: Maven目录结构?ui
Maven主要的目录结构以下:阿里云
--bin (存放了maven运行的脚本命令,咱们调用的maven命令其实就在里面)url
--boot (Maven 的类加载器)spa
--conf (Maven 的配置文件,里面包含重要的setting.xml文件,经过修改该文件能够配置 Maven 行为)
--lib (包含Maven 运行的全部类库,以及一个超级POM,全部Maven项目都会默认继承这个Maven项目)
Q:setting.xml 的主要配置
首先,咱们须要明白 setting.xml 所处的位置不一样,管辖的范围也不同:
处于Maven安装目录的conf 文件夹下的settings.xml 是全局性的,经过设置里面的元素能够对全局进行管理,
而在user/.m2/settings.xml里面的settings,xml是对当前用户的设置,在里面的设置会覆盖全局设置
settings.xml 文件包含的配置信息以下:
<settings> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies/> <profiles/> <activeProfiles/> </settings>
localRepository:主要用于设置Maven的本地仓库,Maven默认的本地仓库处于 user/.m2/repository 里面,能够修改成你想要的地方, 好比 <localRepository> E:/repository </localRepository>
offline: 表示是否开启离线模式,默认为false,开启离线模式后,在每次构建时,就不会从远程仓库下载最新的依赖,固然,若是开启离线模式后,须要的依赖包本地仓库没有,就会报错,而不是自动去下载
servers:通常用于对远程仓库的访问添加用户名密码等认证信息,由于若是要访问的远程仓库须要进行身份认证,就必须填写这些信息,将认证信息写在这里而不是pom.xml文件中的缘由是pom.xml 文件是须要
随着项目发布的,不能起到保密做用,写法以下:
<servers> <server> <id></id> (id须要与pom.xml中声明的远程仓库id相同) <username></username> <password></password> </server> </servers>
mirrors:用于设置Maven镜像,镜像是指原本要访问A远程仓库的,如今所有转到访问B镜像,咱们通常将阿里云的镜像设置为远程中央仓库的镜像
<mirror> <id>AliMaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>
proxies:设置代理,通常用于公司内部不能直接访问外网,必须经过代理服务器对外网进行访问的状况
Q:在eclipse中使用Maven须要注意什么?
一、在eclipse中使用本身的Maven,确保eclipse中的Maven和命令行的Maven是同一个
二、确保本身eclipse能找到正确的settings.xml配置文件
三、修改 jre 版本,因为用Maven模板建立出来的Maven项目,使用的jre版本很低,因此须要进行修改,修改方式:
点击项目右键-->buildPath,而后按照以下操做:
同时还要修改pom.xml文件的编译插件的版本(由于咱们以前说过,全部Maven都会继承lib文件夹中的父类POM,可是父类POM中的编译插件配置版本实在是太老了,因此咱们必须手动覆盖掉)
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <verbal>true</verbal> </configuration> </plugin> </plugins> </build>
四、在eclipse中添加依赖,在eclipse中搜索maven依赖,而且添加到pom中: 右键点击项目,选择Mavem --> Add dependency,以下图:
在搜索框中搜索便可,若是搜索以后没有搜索到,可是本地仓库确实有此依赖,那么须要更新索引,点击window-->show view --> other -->maven repository,以下图,点击local repository的 rebuid index就能够了