一、编写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制作折线图

    利用python的第三方包Pygal制作简单的折线图. 申明:本文仅供学习交流使用.源码大部分来自<python编程从入门到实践>:如有侵权,请联系我删除. 1 #!usr/bin/env ...

  2. iOS音乐电台类项目开发

    1.技术难度不是太大,代码大致如下 2.用到的一些第三方 ZFProgressView,pageController,RESideMenu,MJRefresh,MBProgressHUD,RNFros ...

  3. js中点回车enter触发事件&layui弹窗按enter键不停弹窗问题的解决&js实现鼠标焦点自动落到文本框(layui)

     js中回车触发事件 一. document.onkeydown = function (e) { // 回车提交表单 // 兼容FF和IE和Opera var theEvent = window.e ...

  4. C# Json对象数组复杂JObject 序列化

    tatic void Main(string[] args) { //先反序列化看看 string json = "{\"name\": true,\"age\ ...

  5. Tomcat如何使用线程池处理远程并发请求

    Tomcat如何使用线程池处理远程并发请求 通过了解学习tomcat如何处理并发请求,了解到线程池,锁,队列,unsafe类,下面的主要代码来自 java-jre: sun.misc.Unsafe j ...

  6. 什么是Solon?

    Solon是参考Spring boot 和 Javalin 而设计.吸取了两者的的优点,避开了很多繁重的设计,使其支持http, websocket, socket 三种通讯信号接入.Solon 2M ...

  7. Kubernetes项目简介

    Kubernetes项目简介 Kubernetes 是 Google 团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为 Go 语言.Kubernet ...

  8. java中网络通信 Scoket

    在客户/服务器通信模式中,客户端需要主动建立与服务器连接的Socket,服务器端收到客户端的连接请求,也会创建与客户端连接的Socket.Socket可以看做是通信连接两端的收发器,客户端和服务店都通 ...

  9. 看图知义,Winform开发的技术特点分析

    整理一下自己之前的Winform开发要点,以图文的方式展示一些关键性的技术特点,总结一下. 1.主体界面布局 2.权限管理系统 3.工作流模块 4.字典管理 5.通用的附件管理模块 6.系统模块化开发 ...

  10. 简单TCP服务器和TCP客户端源码(Golang)

    以下代码为服务端,非最终版代码,服务端可以接受多个客户端的请求,且所有消息会显示在服务端上,服务端无法发送消息: package main import ( "fmt" " ...