Maven 

安装

    1.把maven安装包解压到某个位置



    2.配置M2_HOME环境变量指向这个位置

3.在path环境变量中添加;%M2_HOME%\bin

配置镜像

国内的阿里云镜像比国外中央仓库速度更快

方法:

在当前用户文件夹中,找到.m2,把settings.xml放进去

如果没有.m2,可以在命令行中运行mvn

如果没有settings.xml
从百度搜maven镜像

 

与Eclipse结合

最新版本的Eclipse自带maven插件,但版本比较低,也没有配置镜像

所以在window-->preference-->maven-->installations中添加并选择我们自己安装和配置好的maven

使用Maven创建项目

1.New --> maven project --> 选中 create simple  -->填写项目信息

group id      组织、公司、项目组的名字

artifact  id    项目名字

版本号        snapshot   快照版,用来快速编写代码验证某个功能或需求

初次创建maven项目时,

需要从中央仓库(镜像仓库)下载必要的jar包和maven需要文件,等待下载完成

POM文件

每个maven项目都有一个pom.xml文件,用来记录项目的基本信息:

1.项目名称、描述、版本、maven坐标

2.项目的依赖关系

3.项目使用的插件等

Maven项目的基本结构

src                                源代码

main                           项目主体代码

Java                        java代码

resources                   项目使用资源、配置文件等

test                            测试代码(单元测试)

java                         java测试代码

resources                    测试代码使用的资源和配置文件

target                             编译之后生成文件

pom.xml                           项目描述文件

POM:Project Object Model            项目对象模型

把一个项目当作一个对象

此时就需要在这个对象定义很多属性

(xml文件的标签)

 

Maven  坐标/依赖

      group id

artifact  id

version

上面的3个非常重要,尤其是版本号一定要注意,不同版本的API可能不同!如果版本出现错误,则会出现找不到类、找不到方法等稀奇古怪的错误。

scope      作用域/指明这个依赖项的作用范围

test      仅在测试时使用

compile   参与到项目的编译、打包、部署过程中

runtime   由JDK或运行环境提供,不需打包、部署时

需自行安置JDK或其他执行环境

provided   已经提供的依赖项,不需打包

system    由系统提供

Maven通过查看 pom.xml
文件的<dependencies>

可以找到某个项目后jar包的依赖项。

找到之后可以从中央仓库将之下载到本地仓库

然后会查看新下载的jar的pom文件,再去找其中的<dependencies>

找到之后继续下载,知道所有的依赖项全部下载到本地仓库中

Maven本地仓库

Maven会将jar包统一放置到本地仓库中,在.m2文件夹的respository中按照groupid/artifecctid/version/的方式保存这些jar包

本地仓库的作用是

1.每1个jar只需要下载一次就可被任意多个项目使用

2.避免重复下载

3.避免重复占用磁盘空间

4.也免除了程序员到各种官方网站查找和下载jar包的痛苦

JUnit

Java Unit Test   用于java单元测试工具

单元测试时由程序员编写的,用于测试自己的代码

使用单元测试的好处是:

1.测试代码与项目主体代码时分离的

2.测试代码编写之后不需考虑删除的问题

3.测试代码可以反复多次使用

即使项目上线之后依然可以换用于后期bug修复使用

4.测试代码的反复食欲可以节省大量时间

避免反复编写代码检查程序功能是否正常

单元测试是开发的一部分。是程序员的工作内容。而非测试人员工作内容!

测试驱动开发

       1.与传统的先编码后测试不同,它的思想是先写后测试用例,然后再编写代码

2.编写代码时,通过不断运行测试用例来推动代码的编写,直到所有的测试用例都通过即完成了开发

创建测试类

      1.测试类的包名应该等于被测试的包名,即在同一个包中

2.测试类的名字 =
被测试类的名字Test

3.测试方法必须是Public的

4.测试方法的名字 = test被测试方法的名字

 

Maven的安装配置及初次创建项目与java单元测试工具JUnit的更多相关文章

  1. MyEclipse下Maven的安装配置

    Maven常用命令: •mvn archetype:generate :创建 Maven 项目 •mvn compile :编译源代码 •mvn test-compile :编译测试代码 •mvn t ...

  2. Maven 的安装配置

    Maven 的安装配置 一.在安装 Maven 之前,先确保JDK1.7及以上版本并且配置好环境变量. 二.下载maven的bin,在apache官方网站可以下载. 1.首先去官网下载 Maven:h ...

  3. 【Maven】安装配置、目录结构、配置文件、常见命令

    1.下载配置maven步骤 a.windows下配置jdk的系统环境变量:java_home b.windows下配置maven的系统环境变量:maven_home或者m2_home c.window ...

  4. windows下maven的安装配置

    什么是maven Maven是基于POM(工程对象模型),通过一小段描述来对项目的代码.报告.文件进管理的工具. Maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及 ...

  5. centos tomcat/resin安装配置 卸载系统自带的java tomcat安装配置 安装JDK resin安装配置 第二十八节课

    centos  tomcat/resin安装配置  卸载系统自带的java  tomcat安装配置  安装JDK   resin安装配置    第二十八节课 tomcat和java都不需要编译 tom ...

  6. maven的安装配置超详细教程【含nexus】

    1 下载 下载地址:http://maven.apache.org/download.cgi 界面效果如下: 点击之后进入的apache 软件基金的发布目录,在这里你可以下载apache的所有项目. ...

  7. Maven快速安装配置

    环境:windows7_x86  maven3.3.3   maven是管理项目的常用工具,不用安装,直接配置即可.在配置maven前,需要先安装JDK.   1,安装JDK(注意此版本的Maven要 ...

  8. Maven自定义绑定插件目标:创建项目的源码jar

    <build> <plugins> <!-- 自定义绑定,创建项目的源码jar --> <plugin> <groupId>org.apac ...

  9. Maven的安装配置

    本文主要是针对mac os系统下maven的安装教程. 1.首先验证是否有jdk.java -version,没有需要手工安装 2.maven的下载地址:http://maven.apache.org ...

随机推荐

  1. MSSQL如何访问ORACLE里的表

    环境: MSSQL:2008 ORACLE DB:10.2.0.1     之前一直没有接触MSSQL,最近因需要MSSQL访问ORACLE里的表,下面是MSSQL连接ORACLE的配置过程.   1 ...

  2. JUC组件扩展(三):BlockingQueue(阻塞队列)详解

    一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大 ...

  3. Linux硬盘速度测试的命令

    测试下硬盘的读写速度如何,在linux下可以使用hdparm 对硬盘进行测试或查看硬盘的相关信息. hdparm 命令进行硬盘速度测试.参数: -a 表示是否关闭磁盘预读取功能.对于大文件读取,这个显 ...

  4. 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT

    你遇到过TIME_WAIT的问题吗?   我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下.哎呀妈呀 ...

  5. 使用Crypto++库的CBC模式实现加密(二)

    前面已经有一篇介绍使用Crypto++库实现的加密的文章了,但是代码中考虑的不完全,所以就重新发了个二 C++封装: #include "zyaes.h" #include < ...

  6. C Pointer-to-Function 与 C++ Pointer-to-MemberFunction 的区别

    在看APUE Figure1.10的时候发现signal(SIGINT, sig_int)这里的sig_int直接用的函数名,但是看Thinking-in-C++ Vol.2的时候发现mem_fun( ...

  7. androidStudio简便安装

    最近在公司由eclipse换为androidstudio,说句实话,androidstudio还是蛮好用的,但是自己刚刚安装的时候遇到很多的问题,问了度娘,各种说法都有,还是捣鼓不得,于是自己尝试,弄 ...

  8. (译).NET4.X并行任务Task需要释放吗?

    摘要:本博文解释在.NET 4.X中的Task使用完后为什么不应该调用Dispose().并且说明.NET4.5对.NET4.0的Task对象进行的部分改进:减轻Task对WaitHandle对象的依 ...

  9. Linux下HTTP Server

    想在Linux下实现一个简单的web Server并不难.一个最简单的HTTP Server不过是一个高级的文件服务器,不断地接收客户端(浏览器)发送的HTTP请求,解析请求,处理请求,然后像客户端回 ...

  10. 工作中Hadoop,Spark,Phoenix,Impala 集群中遇到坑及解决方案

    1.HDFS 修复 问题描述:其他部门在yarn平台上跑spark 程序错误的生成了海量的不到100K的小文件,导致namenode压力过大,其中一个namenode宕机后,没有及时发现 使得edit ...