Granda's Blog

Maven:项目管理工具

相关设置

  • 在conf/setting.xml进行设置
    1. localRepository:设置Maven的本地资源库路径
    2. offline:改值设置为false时会尝试从网络下载资源
    3. proxies:为Maven设置代理服务器

创建项目

  • Mavan插件用法:参考http://maven.apache.org/plugins/index.html
  • 创建项目使用maven的archetype插件
  • 一个Maven项目的结构(com.me.test)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    test
    |--pom.xml
    |--src
    | |--main
    | | |--java 源代码文件
    | | |--resources 资源文件
    | |--test
    | |java 测试代码
    |--target
    |--class 编译生成的class文件
  • pom.xml:pom(project object model),被称为项目对象模型

  • Maven包括三个基本的生命周期:
    1. clean生命周期
    2. default生命周期
    3. site生命周期
  • 默认(default)生命周期包含了项目构建的核心部分,包含如下核心阶段
    1. compile:编译项目
    2. test:单元测试
    3. package:项目打包
    4. install:安装到本地仓库
    5. deploy:部署到远程仓库
  • Maven坐标由下面元素组成
    1. groupId:该项目开发者的域名
    2. artifactId:指定项目名
    3. packaging:指定项目打包的类型
    4. version:指定项目的版本
  • 配置依赖关系

    1
    2
    3
    4
    5
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    </dependency>
  • Maven资源库:

    1. 本地资源库
    2. 远程资源库
    3. 中央资源库(http://repol.maven.org/maven2)
  • 依赖具有传递性
  • 各种jar包的dependency坐标可以登录http://search.maven.org查询
  • 使用下面命令创建一个Web项目
    1
    mvn archetype:generate -DgroupId=com.granda -DartifactId=webDemo -Dpackage=com.granda.webDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false