你还在为怎样寻找、导入SSH相关依赖包纠结吗?

你还在为没有安装IDE开发工具不能编译、部署、运行项目而纠结吗?

你还在为公司项目目录结构怎样规范而纠结吗?

亲爱的纠结哥,只要你使用了Maven,一切不爽都会变得很爽了,就像春风拂过,迎刃而解,把不爽,变成爽,爽,爽。

一、下载安装

下载地址:

http://maven.apache.org/download.cgi

当前最新版本:

http://apache.fayea.com/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.zip

下载apache-maven-3.2.5-bin.zip之后解压缩到非中文、空格的目录;

比如D:\Java\apache-maven-3.2.5

以Window操作系统演示,我的电脑右键点击属性,高级系统设置

第一步.使用前必须先安装好JDK,配置2个环境变量

第二步.在把上面的2个环境变量配置到PATH的最前面

%JAVA_HOME%\BIN;%MAVEN_HOME%\BIN;

%%表示引用前面配置的环境变量的值,这样的好处是以后升级JDK或者MAVEN就直接修改系统变量里面的值,PATH里面不用修改。

第三步.打开cmd

输入mvn -v

如果出现如下信息,表示安装成功,没有出现请检查上面环境变量的配置,或者给我微博发送消息。

二、手动建立第一个Maven项目

目的:熟悉maven约定的目录结构

第一步. 比如在d盘根目录,建立hello文件夹作为项目,同时建立Maven约定的目录结构

hello

--src

-----main

----------java

-----test

----------java

--pom.xml

第二步:在项目hello根目录建立pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>cn.itsource.maven</groupId>

<artifactId>hello</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>hello</name>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.9</version>

<scope>test</scope>

</dependency>

</dependencies>

</project>

第三步:在src/main/java/cn/itsource/maven目录下新建文件Hello.java

package cn.itsource.maven;

public class Hello {

public String sayHello(String name){

return "Hello "+name;

}

}

第四步:在/src/test/java/cn/itsource/maven目录下新建测试文件HelloTest.java

package cn.itsource.maven;

import org.junit.Test;

import static junit.framework.Assert.*;

public class HelloTest {

@Test

public void testHello(){

Hello hello = new Hello();

String results = hello.sayHello("World,欢迎来到源代码教育!");

assertEquals("Hello World,欢迎来到源代码教育!",results);

}

}

第五步:maven可以灰常方便使用下面命令实现项目构建,不过必须连接网络,然后maven会自动从中央仓库http://repo1.maven.org/maven2,下载相应的jar文件,从而管理java项目。

会出现如下下载信息

a)打开cmd命令行,进入hello项目根目录执行 mvn compile编译命令,查看根目录变化

b)cmd 中继续录入mvn clean清理命令,然后再次查看根目录变化

c)cmd 中录入 mvn clean compile清理编译命令, 查看根目录变化

d)cmd 中录入 mvn clean test测试命令,查看根目录变化

e)cmd 中录入 mvn clean package打包命令,查看根目录变化

f)cmd 中录入 mvn clean site生成网站命令,查看根目录变化

你还在等什么,赶快试试吧。

关注作者:

   

用起来超爽的Maven——入门篇的更多相关文章

  1. 用起来超爽的Maven——进阶篇

    以后随着使用的maven的频率增加,此文件会越来越大,也是为什么需要把默认C:\Users\Administrator\.m2 \repository目录改变为D:/OpenSources/repos ...

  2. Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...

  3. [转]Apache Maven 入门篇 ( 上 )

    原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...

  4. [转]Apache Maven 入门篇(下)

    原文地址: Apache Maven 入门篇(下) 作者:George Ma 第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例.那么在对maven有了一点 ...

  5. [Maven]Apache Maven 入门篇

    作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...

  6. 【Tools】Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 mave ...

  7. Apache Maven入门篇(转)

    [上篇] 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 maven 来构建运行 ...

  8. Maven 入门篇 ( 上 )

    写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 maven 来构建运行 hello ...

  9. Apache Maven 入门篇

    2017-11-09注释:IntelliJ IDEA 2017.2.5 x64 等新版本会安装maven,为了有好的体验 建议在安装目录找到IntelliJ IDEA 2017.2.5\plugins ...

随机推荐

  1. What is a Thread?

    https://computing.llnl.gov/tutorials/pthreads/ Technically, a thread is defined as an independent st ...

  2. 报表技术之PDF格式报表生成 ----JasperResport

    JasperReport简介 JasperReport:java提供的一个类库,承上启下,读取IReport生成的xxx.jrxml文件,获取到pdf中需要显示的全部内容,然后底层调用IText相关的 ...

  3. 【转】同步的HttpClient使用详解

    http://blog.csdn.net/angjunqiang/article/details/54340398 背景 服务端以及客户端在开发过程中不可避免的会使用到网络请求,网络请求可以使用Jav ...

  4. 机器学习基础(HGL的机器学习笔记1)

    统计学习:统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,统计学习也成为统计机器人学习[1]. 统计学习分类:有监督学习与无监督学习[2]. 统计学习三要素:模型 ...

  5. 【洛谷P3469】[POI2008]BLO-Blockade

    BLO-Blockade 题目链接 若一个点为割点:统计出每个子树的大小,两两相乘再相加, 再加上n-1,为这个点与其他点的拜访数, 因为拜访是互相的,最后再乘二即可 若一个点不是割点:只有(n-1) ...

  6. FreeImage.lib库的配置和简单使用 转

    转载地址 http://www.codeweblog.com/win8-1%E4%B8%8Bfreeimage-lib%E5%BA%93%E7%9A%84%E9%85%8D%E7%BD%AE%E5%9 ...

  7. JavaEE权限管理系统的搭建(六)--------使用拦截器实现菜单URL的跳转权限验证和页面的三级菜单权限按钮显示

    本小结讲解,点击菜单进行页面跳转,看下图,点击管理员列表后会被认证拦截器首先拦截,验证用户是否登录,如果登录就放行,紧接着会被权限验证拦截器再次拦截,拦截的时候,会根据URL地址上找到对应的方法,然后 ...

  8. triplet loss

    因为待遇低,因为工作不开心,已经严重影响了自己的工作积极性和工作效率,这几天发觉这样对自己实在是一种损失,决定提高工作效率,减少工作时间. 说说最近做的tracking, multi-object t ...

  9. JS JavaScript事件循环机制

    区分进程和线程 进程是cpu资源分配的最小单位(系统会给它分配内存) 不同的进程之间是可以同学的,如管道.FIFO(命名管道).消息队列 一个进程里有单个或多个线程 浏览器是多进程的,因为系统给它的进 ...

  10. SmallMQ实现发布

    最近一直学习,主要处理java的分布式,MQ,RPC,通信,数据库,缓存等方向. 一般现在的MQ都是企业级的,庞大,功能齐全.最主要是代码量大,对于我们这些小程序员而言,太大,修改困难,修复更加困难, ...