zoukankan      html  css  js  c++  java
  • 《Maven实战》笔记-1-Maven使用入门

    《Maven实战》徐晓斌 2011 机械工业出版社
     
    一、介绍
    1、名词

    artifact:插件

    极限编程XP

    2、构建脚本:
    maven——pom.xml(Project Object Model)
    ant——build.xml
    其基本结构是目标(target)、依赖(depends),以及实现目标的任务。
    3、maven vs ant
    Ant是过程式的,开发者显示指定每一个目标,以及完成该目标所需要执行的任务。
    Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现。
    4、相关知识
    Spring——实现IoC;
    Hibernate——实现封装JDBC;
    Eclipse安装目录eclipse.ini文件,添加vm配置指向jdk:
    1. --launcher.SSMaxPermSize
    2. 256m
    3. -vm
    4. D:javajdk1.7injavaw.exe
    5. -vmargs
    6. -Dosgi.requiredJavaVersion=1.5
    7. -Xms128m
    8. -Xmx256m
     
    m2eclipse——Eclipse下的Maven插件。
     
     
    二、Maven使用入门
    ——以Hello World为例
    1、mvn help:system——打印所有的Java系统属性和环境变量。
    推荐用户复制M2_HOME/conf/settings.xml文件到~/.m2/settings.xml,在用户范围内修改Maven配置,而不是在全局范围修改。
    Maven的核心是pom.xml,一个HelloWord项目的pom.xml:
    参数解释:
    modelVersion——POM模型的版本,对于Maven2以及Maven3来说,它只能是4.0.0
    核心三元素——groupId、artifactId、version,定义了一个项目基本的坐标;在Maven的世界,任何的jar、pom或者war都是基于这些基本的坐标进行区分。
    groupId:定义里项目属于哪个组,这个组往往和项目所在的组织或公司存在关联;
    artifactId:定义了当前Maven项目在组中的唯一ID;
    version:指定Hello World项目当前的版本,1.0-SNAPSHOT说明快照版本,处于开发中,不是稳定版本。
    name:不是必须的,可用于声明一个友好的项目名称。
     
    2、编写主代码
    主代码:被打包到最终的构件,如jar中,默认位于src/main/java目录;
    测试代码:只运行测试时用到,不会被打包,默认位于src/test/java目录;
    使用Maven编译:
    在项目根目录下,运行命令
    mvn clean compile
    clean:清理输出目录target/
    compile:编译项目主代码
    以上命令执行顺序:
    clean:clean->resources:resources->compiler:compile
     
    3、编写测试代码
    添加junit测试依赖:
    注:scope为依赖范围,test值表示只对测试有效,默认为compile,则表示对主代码和测试代码都有效。
    测试代码:
    典型单元测试的三个步骤:
    (1)准备测试类及测试数据;
    (2)执行要测试的行为;
    (3)检查结果。
    JUnit3中,约定所有需要执行测试的方法都以test开头
    JUnit4中,需要执行的测试方法都应该以@Test进行标注
     
    使用Maven执行测试:
    运行mvn clean test
    注意,以上命令实际执行了以下的任务:
    clean:clean  resources:resources  compiler:compile  resources:testResources  compiler:testCompile.
    详见maven生命周期。
     
    以上命令可能提示java版本不够,compiler插件默认java1.3,需要做以下修改:
     
    4、打包和运行
    Pom默认打包类型为jar,执行命令进行打包
    mvn clean package
    输出也位于target/输出目录中。
     
    若让其他项目引用该jar,需要执行安装步骤,,将项目输出的jar安装到Maven本地仓库中:
    mvn clean install
    注意:执行test前会先执行compile,执行package前会先执行test,执行install前会执行package。
     
    默认生成的jar是不能够执行运行的,因为main方法的类信息不回添加到manifest中。为了生成可执行的jar文件,需要借助maven-shade-plugin,配置插件如下:
     
    5、使用Archetype生成项目骨架
    Mav项目中基本的目录结构和pom.xml文件内容成为项目的骨架。
    Maven提供了Archetype快速生成项目骨架。
    Maven3中,运行以下命令:
    mvn archetype:generate
    接着根据提示输入项目groupId  artifactId  version  package包名等
     
     





  • 相关阅读:
    datanode报错Problem connecting to server
    使用命令查看hdfs的状态
    Access denied for user root. Superuser privilege is requ
    ElasticSearch默认的分页参数 size
    SparkStreaming Kafka 维护offset
    【容错篇】Spark Streaming的还原药水——Checkpoint
    251 Android 线性与相对布局简介
    250 Android Studio使用指南 总结
    249 如何解决项目导入产生的中文乱码问题
    248 gradle更新问题
  • 原文地址:https://www.cnblogs.com/myitroad/p/6131204.html
Copyright © 2011-2022 走看看