Maven

于影

一、Maven的概述

Maven是apache下的一个纯Java开发的开源项目
Maven是一个项目管理工具,可以简化项目配置统一项目结构,使得开发者
的工作变得更简单!
使用Maven的主要原因,是Maven可以帮我们下载和管理项目中所需要的依赖(jar包)

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

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

三、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/localRepo

四、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>

五、配置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>

六、整合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(双击打开,是一个窗口) 

七、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项目
    导项目错误时的三个解决方案:(详见九、Maven的常见问题1)
        (1)右键项目Update Project..勾选[] Force..强行更新
        (2)在项目上右键Run as--run server-后面加上自己的项目名
        (3)找到自己的本地库,把D:\JavaDevelop\localRepo里的东西删除,把老师的复制过来就ok

八、maven的依赖管理

1、如何在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>
2、引入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

九、maven的常见问题

1、如果通过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)如果还是不行,就使用老师下发的本地仓库替换你的本地仓库!
阅读 1.9k
7 声望
10 粉丝
0 条评论
7 声望
10 粉丝
文章目录
宣传栏