zoukankan      html  css  js  c++  java
  • maven笔记

    一、概述

    Maven是一个:

    a.项目构建工具,可以自动化地对软件进行编译、单元测试、文档生成,打包和部署。

    b.依赖管理工具,maven给每个软件构件(artifact)定义了一个坐标(groupId,artifactId,version必选三元组,packaging可选,classifier不能直接定义),并且维护了一个免费的中央库(repository),

    c.项目信息管理工具,可以管理包括项目描述,开发组列表,版本控制系统地址,许可证,bug管理系统地址等。

    二、安装实践

    1、conf/settings.xml配置文件,最佳方式是把这个文件拷贝到~/.m2目录下,然后进行修改,这里的配置优先于安装目录下的配置,而且只影响当前用户,这样方便maven的升级。

      如果直接在安装目录下修改这个配置文件,影响是全局的,也就是这台机器上的所有用户都受影响,也不方便以后的升级。

    2、安装m2eclipse插件后,插件会自带一个maven,内嵌到eclipse中,这样从eclipse中执行maven命令可能和从命令行执行时的行为不一致。

      最佳做法是,在eclipse中preference中配置maven,使用安装的maven,而不是eclipse自带的maven。

    三、常用Maven库

    https://maven.alfresco.com/nexus/content/repositories/
    http://download.java.net/maven/2/
    https://repo.springsource.org/libs-release
    https://repo.springsource.org/libs-milestone
    http://repository.jboss.org/nexus/content/groups/public-jboss/
    https://repository.sonatype.org/content/groups/forge/
    https://repository.sonatype.org/content/shadows/centralm1/

    四、maven属性

    1、内置属性:

    ${basedir},项目跟目录

    ${version},项目版本

    2、POM属性:

    ${project.groupId}, ${project.artifactId}, ${project.version}等价于${version}

    ${project.build.finalName}, 默认为${project.artifactId}-{project.version}

    ${project.build.directory}, 对应:target

    ${project.build.sourceDirectory}, 对应:src/main/java

    ${project.build.testSourceDirectory}, 对应:src/test/java

    ${project.outputDirectory}, 对应:target/classes

    ${project.testOutputDirectory}, 对应:target/test-classes

    3、自定义属性

    就是在POM文件里定义的自定义属性,如:<properties><spring.version>3.1.3.RELEASE</spring.version></properties>

    4、settings属性

    和自定义属性类似,可以引用在settings.xml文件中定义的属性,如:${settings.localRepository}

    5、Java系统属性

    如:${user.home}指向用户目录,可以使用:mvn help:system命令查看所有系统属性

    6、环境变量属性

    如:${env.JAVA_HOME},可以使用:mvn help:system命令查看所有系统属性

    五、Profile

    Profile是为方便POM在不同环境下的能有不同的配置而提出的概念。

    典型的例子就是测试,开发,生产环境下数据库配置不同,这时可以把不同的配置放到profile配置段中。

  • 相关阅读:
    C#中如何创建文件夹,复制文件夹,删除文件夹的方法
    Entity Framework 4.1 CodeFirst 学习笔记
    c#使用豆瓣API
    字符串json转换为xml xml转换json
    基于方法的查询语法(1)
    A lowlevel Look at the ASP.NET Architecture
    删除sql表中重复数据
    关于document.cookie的使用
    大话设计模式之设计模式遵循的七大原则
    Cookies揭秘 [Asp.Net, Javascript]
  • 原文地址:https://www.cnblogs.com/winson/p/3305218.html
Copyright © 2011-2022 走看看