一、编写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

    AA = raw_input().strip().split(' ') A = [] ###############初始化大堆############### def fixUp(A): k = len ...

  2. sklearn: CountVectorize处理及一些使用参数

    sklearn: CountVectorize处理及一些使用参数 CountVectorizer是属于常见的特征数值计算类,是一个文本特征提取方法.对于每一个训练文本,它只考虑每种词汇在该训练文本中出 ...

  3. 编程漫谈(二十):如何自学编程及Java、上手真实开发及转行程序员的建议

    前路漫漫,吾将上下而求索! 最近有时在知乎上逛逛,发现很多人对自学编程及转行程序员有困惑.我是在25岁读研时转程序员,正赶上好时候(中国云计算刚刚起步及移动互联网正红的阶段),同时又走了不少弯路,因此 ...

  4. alibaba-sentinel-1.8变化

    maven最新坐标 <dependencies> <dependency> <groupId>org.springframework.boot</groupI ...

  5. Gitlab+Jenkins构建一个Go项目

    部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...

  6. 从0开始快速入门学Java----基本篇

    由于是0基础入门java,所以花了比较多的时间学习了基本语法知识,阶段性梳理下知识: 1. Java的介绍+JDK安装及环境变量配置+第一个程序HelloWorld的编写 这部分开始遇到的问题比较多, ...

  7. 为什么游戏公司的server不愿意微服务化?

    背景介绍 笔者最近去面试了家游戏公司(有上市).我问他,公司有没有做微服务架构的打算及考量?他很惊讶的,我没听说过微服务耶,你可以解释一下吗? 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合 ...

  8. Redis在存取序列化和反序列化性能问题

    1. 问题场景 我们在使用Redis的时候经常会将对象序列化存储到Redis中,在取出的时候进行反序列化,如果对象过大在进行序列化和反序列化的时候会有一定性能问题.今天查看了CSRedis源码发现在S ...

  9. Java学习日报9.22

    /* * 信1905-2班 * 杨传伟 * 2020.9.22 * 20194074 * 账号密码默认 666666 */package atm; import java.util.*;public ...

  10. JAVA编程能力提升学习图

    阿里大神毕玄整理的关于进阶JAVA的学习体系,知道下...