zoukankan      html  css  js  c++  java
  • maven 详情查考 maven实战 许晓斌

    maven是一个构建和管理jar包工具.

    管理jar:  

      通过坐标来定义一个jar

    示例

    <project>
      <!-- model version is always 4.0.0 for Maven 2.x POMs -->
      <modelVersion>4.0.0</modelVersion>
      
      <groupId>com.mycompany.app</groupId>   <!--组织ID  一般和src/main/java和src/test/java  下面的包名称对应-->
      <artifactId>my-app</artifactId>     <!--项目标识符 -->
    <version>1.0</version> 版本号
      <packageing>pom</packageing> 打包方式jar war pom pom为聚合文件
     <dependencies>                         依赖集合
    <dependency> 每一个依赖
    <groupId>junit</groupId> 依赖的坐标
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope> 依赖的范围 (test,compile,provide,runtime,import) 默认compile test(测试有效 junit) provide(编译和测试有效 servletapi) runtime(运行有效 常见 jdbc驱动) import(dependencymanagement标签下使用导入pom文件)
    <option>true<option> jar可选 这个标签标识依赖不会传递 如果其它包依赖这个包,必须单独引入
    </dependency>
    </dependencies>
    </project>

    maven的依赖选择   假设  A->B->C    A依赖B,B依赖于C  当我们引入A的时候,maven自动引入B和C    当出现依赖冲突的时候.maven首先选择最短的依赖路径,如果还有冲突,maven选择pom文件首先出现的依赖路径

    当我们发现依赖冲突的时候可以使用,或者想使用莫一个特定版本的jar 的时候    <exclude>标签排除依赖,而后自己声明所需要版本

    当项目依赖引入完毕后,使用mvn dependency list 命令查看maven的完整依赖图.优化自己的pom(也可以使用开发工具自带的)

    构建: 通过maven命令  

     maven有三个生命周期 分别是clean default  site  

      clean  清理项目

      default :  常用的有compile test package install deploy 顺序执行.执行后面的会先执行前面的

      site:生成文档

    maven的聚合和继承:通过<parent>标签可以继承pom文件,重复引入去除

            通过<modules>标签可以聚合pom文件,几个不同的项目可以同时构建

    maven的测试:  maven会自动识别src/test/java 目录下以Test或Test结尾的java类,进行测试.

  • 相关阅读:
    摘记
    【题解】网格 & Single Cut of Failure(trick:答案上界)
    题解 CF1404C 【Fixed Point Removal】
    Linux IO模型知识梳理
    Java IO模型知识梳理
    如何回答什么是线程安全?
    MySQL主从复制与备份
    MySQL的高性能索引策略
    CAS(乐观锁)的原理解析
    Java虚拟机的类加载机制
  • 原文地址:https://www.cnblogs.com/aibobs/p/9629400.html
Copyright © 2011-2022 走看看