一、编写pom.xml文件
    Maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。
    例子:
    
    modelVersion:指定当前POM模型的版本,只能是4.0.0.
    groupId:定义了项目属于哪个组,这个组往往和项目所在的组织或者公司存在的关联,例如网易公司教育产品部门创建k12工程,则应该是com.netease.edu.k12。
    artifactId:定义了当前Maven项目组中唯一的ID,我们为某个项目创建一个唯一的名称,比如:k12-web,唯一标示web工程项目
    version:某个项目的当前版本,例如:0.0.1-SNAPSHOT;SNAPSHOT是快照的意思,表示不稳定的版本,之后的章节再详细介绍,
    packaging:打包的类型,war或者jar。
    name:对用户更为友好的项目名称。不是必须的。
二、编写主代码
    Maven代码规范如下:
    
    Java文件放在src/main/java中,配置文件放在src/main/resources;测试文件分开存放,放在src/test/java中。
    首先编写代码,创建一个类在Java目录下。
    编译:mvn compile 命令;编译之后的class文件存放在target目录下,编译之前需要执行clean操作。删除target目录。
三、编写测试代码
    添加依赖的junit类。在pom文件中添加依赖。
    
    scope:依赖使用的范围,如果不写表示main下和test下都可以使用,添加test后,只有在test时才能使用,主代码中使用就会报错,不能引用jar包。
    单元测试包含的步骤:
    ①准备测试类和数据;
    ②执行要测试的行为;
    ③检查结果。
    使用Maven执行测试使用mvn clean test 命令。执行test命令的时候还执行了 clean:clean、resource:resource、compiler:compile、resource:testResources以及compiler:testCompile(主资源处理、主代码编译、测试资源处理、测试代码编译),这是Maven生命周期的一个特性,之后章节介绍。
    注意:Maven的核心插件之一——compiler插件默认只支持编译Java1.3 ,所以需要我们自己手动配置插件。
    
    source:支持编译的版本。
四、打包和运行
    使用mvn clean package 命令进行打包。Maven会在打包之前进行编译、测试等操作。将输出的jar包存放在target/目录下。这样复制这个jar包到其他工程中就能使用。
    如果想通过Maven直接引用这个jar包还需要一个安装的步骤,就是将这个jar包放在本地仓库中。这样本地其他项目都能使用,只需要在pom文件中配置下就可以。如果供其他人使用还需要发布到远程仓库,后面介绍。
    安装命令:mvn clean install 
    执行install的时候前面的编译测试都是还会执行。后续生命周期详细介绍。

Maven 基础详解的更多相关文章

  1. elasticSearch+spring 整合 maven依赖详解

    摘自:http://www.mayou18.com/detail/nTxPQSyu.html [Elasticsearch基础]elasticSearch+spring 整合 maven依赖详解 Ma ...

  2. Dom探索之基础详解

    认识DOM DOM级别 注::DOM 0级标准实际并不存在,只是历史坐标系的一个参照点而已,具体的说,它指IE4.0和Netscape Navigator4.0最初支持的DHTML. 节点类型 注:1 ...

  3. Maven使用详解

    Maven使用详解 世间万物相生相克,今年本来的目标是主要研究asp.net mvc以及windows平台相关的DI, ORM框架,突然有一天想研究一个Java EE里面相应的框架都是怎么玩的,于是研 ...

  4. eclipse里面构建maven项目详解(转载)

    本文来源于:http://my.oschina.net/u/1540325/blog/548530 eclipse里面构建maven项目详解 1       环境安装及分配 Maven是基于项目对象模 ...

  5. Android中Canvas绘图基础详解(附源码下载) (转)

    Android中Canvas绘图基础详解(附源码下载) 原文链接  http://blog.csdn.net/iispring/article/details/49770651   AndroidCa ...

  6. javaScript基础详解(1)

    javaScript基础详解 首先讲javaScript的摆放位置:<script> 与 </script> 可以放在head和body之间,也可以body中或者head中 J ...

  7. Python学习一:序列基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:moyi@moyib ...

  8. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  9. 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记

    来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...

随机推荐

  1. java基础:数组详解以及应用,评委打分案例实现,数组和随机数综合,附练习案列

    1.数组 1.1 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致. 1.2 数组的定义格式 1.2.1 第一种格式 数据类型[] 数组名 示例: int[] arr;     ...

  2. Linux下源码安装方式安装MySQL

    1.下载安装包:https://downloads.mysql.com/archives/community/  2.安装开发工具和安装包 因为要把源码编译成二进制数据,所以必须要有编译器和解释器 g ...

  3. MSSQL数据库一对多和多对一查询的转换

    前言 处理一对多关系,有两种方式 (1)创建关系表,将对应关系保存在物理表中. (2)表中添加一个字段,将多关系的值以特殊符号隔开进行保存. 本例使用的就是,以逗号隔开(InterestID='1,2 ...

  4. Spring Boot 中使用 Quartz 实现任务调度

    Quartz 概述 Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域又一个开源项目,它可以与 J2EE. J2SE 应用程序相结合也可以单独使用.Quartz ...

  5. HBase内存配置及JVM优化

    前言 本文从HBase的内存布局说起,先充分了解HBase的内存区的使用与分配,随后给出了不同业务场景下的读写内存分配规划,并指导如何分析业务的内存使用情况,以及在使用当中写内存Memstore及读内 ...

  6. openbmc编译错误汇总,持续更新,建议收藏

    本文汇总自己在编译openbmc时遇到的一些问题及解决思路,希望对有兴趣研究openbmc的同学有一些帮助. 项目地址:https://github.com/openbmc/openbmc 编译步骤: ...

  7. python之logging 模块(下篇)

    四.日志处理流程(第二种日志使用方式) 上面简单配置的方法例子中我们了解到了logging.debug().logging.info().logging.warning().logging.error ...

  8. linux下安装docker容器

    1.安装环境 此处在Centos7进行安装,可以使用以下命令查看CentOS版本 lsb_release -a 在 CentOS 7安装docker要求系统为64位.系统内核版本为 3.10 以上,可 ...

  9. 10步写了个Django网站,正经网站···

      Django做网站只要10步,真的只有10步,不信?咱们来数数--   今天主要讲解用Pycharm编辑器搭建网站,网站功能是 实现在局域网中快速传递大文件! 比如:同事要给你个1G的文件,你丢一 ...

  10. 最全的HashMap源码解析!

    HashMap源码解析 HashMap采用键值对形式的存储结构,每个key对应唯一的value,查询和修改的速度很快,能到到O(1)的平均复杂度.他是非线程安全的,且不能保证元素的存储顺序. 他的关系 ...