Maven入门学习 (一)

学习Java 的同学就一定会学习Maven, 那么Maven为什么会得到大量用户的使用呢?它是用来干什么的呢 ?接下来就来介绍

Q:Maven的作用?

(1)Maven可以自动化构建项目,可以从清理、编译、测试到生成报告、打包、部署等等功能都可以自动化完成,将我们从繁琐的工作中解脱出来

(2)解决项目的依赖繁杂以及版本不一致的问题

(3)Maven管理了项目中零散的信息,比如项目描述等,还能轻松获得项目文档、测试报告等等

(4)可以将分模块的项目更好地管理起来(Maven的继承和聚集)

Q: Maven目录结构?

  Maven主要的目录结构如下:

    --bin     (存放了maven运行的脚本命令,我们调用的maven命令其实就在里面)

    --boot  (Maven 的类加载器)

    --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需要注意什么?

  1、在eclipse中使用自己的Maven,确保eclipse中的Maven和命令行的Maven是同一个

   

  2、确保自己eclipse能找到正确的settings.xml配置文件

  

  3、修改 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>

  4、在eclipse中添加依赖,在eclipse中搜索maven依赖,并且添加到pom中: 右键点击项目,选择Mavem --> Add dependency,如下图:  

   

  在搜索框中搜索即可,如果搜索之后没有搜索到,但是本地仓库确实有此依赖,那么需要更新索引,点击window-->show view --> other -->maven repository,如下图,点击local repository的 rebuid index就可以了

  

猜你喜欢

转载自www.cnblogs.com/by-my-blog/p/11802364.html
今日推荐