• maven使用(一)


    在官网上下载maven的包http://maven.apache.org/download.cgi

    下载压缩包apache-maven-3.3.9-bin.zip

    在环境变量中新建变量:

    M2-HOME=D:apache-maven-3.3.9-binapache-maven-3.3.9

    配置path,添加路径

    path=D:apache-maven-3.3.9-binapache-maven-3.3.9in

     

    然后再cmd中输入命令:mvn -v 可以查看maven的版本

    现在就已经安装成功啦!

    mvn的一些指令:

    mvn compile                    编译

    mvn test                    编译并测试 

    mvn clean                    清空生成的文件 

    mvn package          打包

    mvn install    是把打出的包装载到本地仓库

     

    pom.xml文件

    <?mxl version="1.0" encoding="utf-8" ?>
    <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>
        <groupId>com.xidian.test</groupId>
        <artifactId>first_maven_test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      
      <dependencies>
           <dependency>
                   <groupId>junit</groupId>
                   <artifactId>junit</artifactId>
                   <version>4.10</version>
    
           </dependency>
    
      </dependencies>
    </project>

    GroupID是项目组织唯一的标识符,实际对应Java的包的结构

    ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

    在另一个项目中引用前一个模块的包。只需要加入一个<dependency>

    同时 mvn install前一个模块将其打包装载到本地仓库。

    <?mxl version="1.0" encoding="utf-8" ?>
    <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>
        <groupId>com.xidian.test2</groupId>
        <artifactId>second_maven_test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      
      <dependencies>
           <dependency>
                   <groupId>junit</groupId>
                   <artifactId>junit</artifactId>
                   <version>4.10</version>
           </dependency>
         <dependency>
                 <groupId>com.xidian.test</groupId>
                    <artifactId>first_maven_test</artifactId>
                    <version>0.0.1-SNAPSHOT</version> 
         </dependency>
    
      </dependencies>
    </project>

    maven会现在本地仓库中找文件,如果没有找到就到网络中的中央仓库汇总去找。

    本地仓库的位置:C:UsersDELL.m2 epository

    修改默认本地仓库的位置:apache-maven-3.3.9-binapache-maven-3.3.9confsettings.xml

     

    在apache-maven-3.3.9-binapache-maven-3.3.9libmaven-model-builder-3.3.9.jar中的 

    pom-4.0.0.xml文件中有中央仓库的地址

    https://repo.maven.apache.org/maven2/

     

    eclipse中使用maven:

    在eclipse中配置自己安装的maven,不用eclipse自带的。

    然后更改User Setting配置:

     

    创建一个maven Project

     

     archtetype是maven的骨架,这里选择quickstart

     

    输入项目名称和模块名称:

    生成的文件结构:

     

     <scope>指定依赖的范围:

    1.test 是指只在测试范围内有效,编译和打包的时候不会使用这个依赖。

        如junit包,dbunit包,打包之后对应用没有作用且影响加载速度。

            且只能作用于src/test中。

    2.compile(默认)

        编译范围内有效,在编译和打包的时候都会讲依赖加载进去。

    3.provided(已提供范围)   只在编译和测试的时候有效,最后打包成war包的时候不会加入。

        provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,

        你可能在编译 classpath 中需要可用的Servlet API 来编译一个servlet,但是你不会想要在打包好的WAR 中包含这个Servlet API;

        这个Servlet API JAR 由你的应用服务器或者servlet 容器提供。

    4.runtime(运行时范围)

        依赖在运行和测试系统的时候需要,但在编译的时候不需要。

        如驱动实现。jdbc。

    maven的依赖特性:

    依赖会传递,对于依赖的传递问题,主要针对的是compile作用域传递,test域不会传递

    间接依赖的冲突问题:

    如果层级不一样:

    假设A-->包A-->包B2.0

        B-->包B1.0

    C-->A B

    那么会选择依赖层级少的包1.0

    如果依赖的层级一样:

    假设A-->包1.0

          B-->包2.0

    C-->A B

    那么C中对包的依赖会选择先在依赖声明中配置的那个。

    参考学习视频:

    http://www.icoolxue.com/album/show/45/

     

     

  • 相关阅读:
    java 输出质数
    各大OJ
    使用css让图片居中
    poj 1250 Tanning Salon
    Struts2 中整合DWR3实现文件上传
    C语言I博客作业02
    The first essay.
    tar命令
    wBox Demo
    缓存记录
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/6426547.html
Copyright © 2020-2023  润新知