一、编写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. 利用Python将PDF文档转为MP3音频

    1. 转语音工具 微信读书有一个功能,可以将书里的文字转换为音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多. 记得之前看到过Python有一个工具包,可以将文字转换为语音,支持英文和中文,而 ...

  2. HCIP -- OSPF 总结

    OSPF:Open Shortest path First  :开方式最短路径优先 一.基础知识: 1.使用范围:IGP 2.协议算法特点:链路状态型路由协议,SPF算法 3.协议是否传递网络掩码:是 ...

  3. HCIP----静态实验

    要求: 1.全网可达 2.拓扑中所需地址全部基于192.168.0.0/24划分所得 3.使用静态路由 4.R1有三个环回,需要汇总 5.PC1与PC3属于同一VLAN,PC2和PC4属于同一VLAN ...

  4. SQL 查询增加语句

    Select 'Insert into Auth_Key Values('''+convert(nvarchar(50),NEWID())+''','''+AuthKey+''',''' +Modul ...

  5. [从源码学设计]蚂蚁金服SOFARegistry之Data节点变更

    [从源码学设计]蚂蚁金服SOFARegistry之Data节点变更 目录 [从源码学设计]蚂蚁金服SOFARegistry之Data节点变更 0x00 摘要 0x02 引子 0x03 业务范畴 3.1 ...

  6. 基础才是重中之重~BouncyCastle实现的DES3加密~java通用

    对于BouncyCastle类库(包)来说,他提供了很多加密算法,在与.net和java进行相互加解密过程中,得到了不错的应用,本文以DES3为例,来说一下DES3加解密的过程. 加密过程 明文字符转 ...

  7. JAVA读取EXCEL_自动生成实体类

    代码实现PropertyAnno.java import java.lang.annotation.ElementType; import java.lang.annotation.Retention ...

  8. 【超级经典】程序员装B指南(转)

    一.准备工作   "工欲善其事必先利其器." 1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好.一个用来查资料,一个用来写代码.总之要显得信息量很大,效率 ...

  9. MySQL索引优化,explain详细讲解

    前言:这篇文章主要讲 explain 如何使用,还有 explain 各种参数概念,之后会讲优化 一.Explain 用法 模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理 ...

  10. Java优雅停机

    Java的优雅停机通常通过注册JDK的ShootDownHook实现,当系统接受到退出指令后,首先标记系统处于退出状态,不再接受新的消息,然后将积压的消息处理完,最后调用资源回收接口将资源销毁,最后各 ...