Maven


1、Maven的概述

Maven是apache下的一个纯Java开发的开源项目
Maven是一个项目管理工具,能够简化项目配置统一项目结构,使得开发者
的工做变得更简单!
使用Maven的主要缘由,是Maven能够帮咱们下载和管理项目中所须要的依赖(jar包)

2、Maven的下载/安装/配置

下载、安装Maven,官方下载地址:http://maven.apache.org/download.cgi
maven是一个绿色软件,解压以后就可使用,安装时推荐,安装的路径中不要包含中文和空格

3、Maven配置本地仓库

1.什么是本地仓库
本地仓库就是本地硬盘上的一个目录,这个目录用于存放Maven帮咱们下载的全部jar包和插件。
若是不指定,本地仓库默认是在(windows系统):c:/users/{当前用户}/.m2/repository
2.修改本地仓库的默认位置
找到 {maven的安装目录}/conf/settings.xml文件,在settings文件的55行,添加以下内容:
<localRepository>d:/javaDevelop/localRepo</localRepository>

修改完后,之后经过maven下载的全部jar包和插件都会存放在D:/javaDevelop/localRepocss

4、Maven配置远程仓库

1.什么是远程仓库
远程仓库(镜像仓库、私服): 通常是由公司(或我的)负责搭建并维护,若是配置了远程仓库,就会从远程仓库下载所须要的jar包,并保存到本地仓库中。若是没有配置远程仓库,默认链接中央仓库,但因为中央仓库面向的是全球用户,因此下载jar包速度较慢!
2.如何配置远程仓库
(1)若是是在家里(有外网),或者之后去公司上班后:能够不配置,默认链接中央仓库,也能够配置链接阿里云的仓库,或者链接大家公司本身的远程仓库,若是链接阿里云仓库,不可使用手机热点网络(老师们测试过,是不能够的)!
(2)若是在达内(使用的是达内内网):能够配置链接达内的远程仓库,回到家里或者之后去公司,链接不了达内的远程仓库,没有对外开放,没有内网访问不了
配置方法:找到{maven的安装目录}/conf/settings.xml文件,在settings文件的<mirrors>标签内部,经过添加<mirror>标签,能够配置远程仓库。
达内的远程仓库配置:
<mirror>
        <id>nexus-tedu</id>
        <name>Nexus tedu</name>
        <mirrorOf>central</mirrorOf>            <url>http://maven.tedu.cn/nexus/content/groups/public/</url>
    </mirror>
阿里云的远程仓库配置:
<mirror>
    <id>nexus-aliyun</id>
    <name>Nexus aliyun</name>
    <mirrorOf>central</mirrorOf>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            </mirror>

5、配置JDK版本

由于在maven和eclipse整合后,经过eclipse建立的maven项目,其中的JDK版本默认是JDK1.5(太旧)
能够在{maven的安装目录}/conf/settings.xml文件中配置JDK的版本,配置后,之后再建立maven项目,项目中的JDK版本
就是咱们指定的版本。而不是JDK1.5。
配置方法是:在{maven的安装目录}/conf/settings.xml文件的<profiles>标签内部,添加一个<profile>标签。以下:
<profile>
    <id>development</id>
    <activation>
        <jdk>1.8</jdk>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

6、整合Maven和Eclipse

1.如何将maven配置到Eclipse里
    window右键 --> Preferences -->
    点击Maven选项,在右侧选项中勾选 "Download Artifact Sources"
    点击add --> 将本身安装的Maven添加进来 -->
    添加本身安装的Maven(指定Maven安装位置)
    -->将默认的maven切换为本身配置的maven:
    -->设置maven的settings文件的位置:(选择setting.xml的位置)
    Local Repository(From merged user and global setting)里路径会有变化
    --> 测试是否配置成功:Winshow-show view-other-->maven(双击打开,是一个窗口)

7、Maven的项目构建

1.经过Maven构建Java项目分为两种方式:
    方式一:经过Maven建立简单工程
        (1)经过Maven建立简单的Java工程
        (2)经过Maven建立简单的Web工程
            建完以后会发现pom.xml文件会报错
            解决方案:鼠标右键工程名字选择JavaEE Tools--> Generate...
    方式二:经过Maven建立模板工程/项目
        (1)经过模板建立Java工程
        (2)经过模板建立Web工程
2.经过Maven建立一个Java项目
    File/new/ Maven Project-->选择--new simple project
    Group Id : 公司域名(com.tedu) 
    Artifact Id : 项目名(CGB-MAVEN-JAVA01)
    Version : 默认的就能够 项目的版本,建立的项目默认是0.0.1-SNAPSHOT快照,也叫非正式版,正式版是RELEASE
    Packging:选择jar就是java工程,war是web工程,pom:表示建立的是父工程(固然相对的还有子工程)或者聚合工程
3.经过Maven建立一个Web项目
    同上,只须要最后Packging选择war便可
4.Maven项目的目录结构
    src/main/java--用来存放主程序或java源文件
    src/main/resources:--用来存放主程序所依赖的配置文件
    src/test/java--用来存放测试的java源文件
    src/test/resources--用来存放测试的配置文件
    src/main/webapp--Web应用的根目录,至关于WebContent目录
    未来能够存放Web资源文件(html/css/js/jsp/图片等)
    src/main/webapp/WEB-INF/web.xml--Web应用的核心配置文件
    target/classes--源码目录中的资源文件通过编译后,会输出到classes目录下
    pom.xml--是Maven项目的配置文件,若是是须要引入jar包,插件,能够在这个文件中进行引入
5.如何导入已有的Maven项目
    (1)先导入数据库(yonghedd)、表、表记录
    (2)导入yonghe-ssm项目
    导项目错误时的三个解决方案:(详见9、Maven的常见问题1)
        (1)右键项目Update Project..勾选[] Force..强行更新
        (2)在项目上右键Run as--run server-后面加上本身的项目名
        (3)找到本身的本地库,把D:\JavaDevelop\localRepo里的东西删除,把老师的复制过来就ok

8、maven的依赖管理

一、如何在Maven项目中引入jar包(依赖)
不须要将jar包复制到当前项目中,而是在pom.xml文件中添加这个jar包对应的坐标,好比,要添加mysql驱动包,只须要在pom
文件的根标签(project)内部,添加一个<dependencies>标签,在<dependencies>标签内部添加一个mysql的坐标便可,    以下所示:
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>
二、引入Maven项目中的jar包,存放在哪一个位置?
    引入到Maven项目中的jar包,存放在本地仓库的指定位置下,这个位置就是【本地仓库位置+当前依赖的坐标】
    前面说过,本地仓库就是本地硬盘上的某一个目录,就是用来存放maven帮咱们下载的jar包和插件
3.本地仓库中的jar包是从哪来的
    若是没有配置远程仓库,本地仓库的jar包是maven帮咱们从中央仓库下载下来的
    若是配置了阿里云仓库,本地仓库的jar包是maven帮咱们从阿里云仓库下载下来的
4.如何在pom文件中添加依赖
    (1)添加依赖的方式1:
    若是添加的依赖包在本地仓库中有(好比以前在别的项目中引入过这个依赖包)
    添加方法:打开pom文件,在pom文件中右键--> Maven--> Add dependency,在弹出的窗口中输入要添加的依赖包
    若是本地仓库中没有这个jar包,必然会搜索不到
    若是本地仓库中这个jar包也搜索不到,解决方法是:打开Maven Repositories窗口,找到Local Repository
    右键ReBuild Index(即重建索引),重建索引后再去搜索。
    (2)添加依赖的方式2:
    若是添加的依赖包在本地仓库中没有,就去网页上搜索http://mvnrepository.com

9、maven的常见问题

一、若是经过Maven建立的工程目录结构不完整,或者后期在引入Jar包时,jar引入失败,能够参考以下方法进行解决:
    (1)在项目的pom文件中敲一个空白行,再保存文件,目的是让maven检测到pom文件发生了变化,再根据pom文件中的配置,到           本地仓库中寻找对应的jar包,若是没有相应的jar包,maven会从新下载。
    (2)若是上面的方式不行,能够尝试在项目上,右键---> Maven ---> Update Project...,强制更新项目,此时           maven也会检查pom文件,在本地仓库中有没有相应的jar包。
    (3)若是上面的方式仍然没有解决问题,检查当前网络环境是否能链接上所配置的远程仓库。(好比在家里使用外网,没法链接达内           的远程仓库,或者使用手机热点网络没法链接阿里云的远程仓库等)
-- 在达内教室,链接的是达内内网:在settings.xml文件中配置链接达内的远程仓库
-- 在家里,用的是外网(但不是手机热点):能够不配置,默认链接中央仓库,或者 在settings.xml文件中配置链接阿里云仓库
-- 用的是手机热点网络:不能够配置链接达内远程仓库或者阿里云仓库,连不上!!
    (4)若是网络可以链接上所配置的远程仓库,到本地仓库的目录下,将本地仓库中全部的目录都删除,删除时,eclipse正在使用           本地仓库中的资源文件,因此会阻止删除,此时将eclipse关闭,再将本地仓库中的全部目录删除,重启eclipse。
    (5)启动eclipse后,再将上面的第(1)步和第(2)步再作一遍!
    (6)若是仍是不行,就使用老师下发的本地仓库替换你的本地仓库!
相关文章
相关标签/搜索