Fork me on GitHub

# maven

Maven 简单入门(丐中丐)

  1. POM project Object Model 项目对象模型 ,读取POM ,获取所需配置新消息,执行目标。

  2. 指定配置内容,

    1. 项目依赖
    2. 插件
    3. 执行目标
    4. 项目构建profile
    5. 项目版本
    6. 项目开发者列表
    7. 相关邮件列表信息
  3. 流程

    1. 创建pom,需要描述项目组,groupid,项目唯一id

      <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/xsd/maven-4.0.0.xsd">
       
          <!-- 模型版本 -->
          <modelVersion>4.0.0</modelVersion>
          
          <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
          <groupId>com.companyname.project-group</groupId>
       
          <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
          <artifactId>project</artifactId>
       
          <!-- 版本号 -->
          <version>1.0</version>
      </project>
      

      所有pom文件都需要project 元素 和三个必要字段,groupid,artifactid,version

      属性 内容
      project 工程根标签
      modelVersion 模型版本
      groupId 工程组的表示。基本唯一。影响配置路径
      artifactID 这是工程的标识。工程名称,groupId 和 artifactId 一起定义了artifact在仓库中的位置
      version 版本工程号,artifact仓库中,用来区分不同版本
  4. 父pom

    这里不做展开

  5. maven 构建配置文件

    类型 位置
    项目级 定义在pom文件pom.xml中
    用户级per user 定义在maven的设置文件中, %USER_HOME%/.m2/settings.xml
    global 定义在maven全局的设置xml中
  6. 仓库

    1. 本地 local

      默认在 ./m2/respository中

    2. 中央 central

      是由maven社区提供的仓库,其中包含了大量常用的库。

      这个仓库有maven社区管理

      不需要配置

      通过网络才能访问

    3. 远程 remote

      由开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的jar。

  7. 常用标签

    • build 两种build

      <build>
              <finalName>ccweb-dev</finalName> //按照你自己的设置的名字作为包名
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-compiler-plugin</artifactId>
                      <version>3.1</version>
                      <configuration>
                          <source>1.7</source>
                          <target>1.7</target>
                          <encoding>utf8</encoding>
                      </configuration>
                  </plugin>
              </plugins>
          </build>
      

      ​ 主要用于编译设置

      1. 全局配置 project build ,针对整个项目所有情况都有效 project 直接子元素。
      2. 配置 profile bulid 针对不同的profile 配置 profile 的直接子元素
      • porperties

        Properties可以在整个POM中使用,也可以作为触发条件(见settings.xml配置文件里activation元素的说明)。格式是value。 一般都在dependencies 中 version 中代替。

        <properties>
                <spring.version>4.3.6.RELEASE</spring.version>
                ……
         </properties>
        
      • dependencies

        依赖引入

        <dependencies>
                <!-- 引入Druid数据库连接池 -->
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>druid</artifactId>
                    <version>${druid.version}</version>
                </dependency>
         </dependencies>
        

    以上,不全,建议系统看书

posted @ 2019-07-08 15:12  EsMussSeinHui  阅读(142)  评论(0编辑  收藏  举报