用起来超爽的Maven——入门篇
你还在为怎样寻找、导入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——入门篇的更多相关文章
- 用起来超爽的Maven——进阶篇
以后随着使用的maven的频率增加,此文件会越来越大,也是为什么需要把默认C:\Users\Administrator\.m2 \repository目录改变为D:/OpenSources/repos ...
- Apache Maven 入门篇 ( 上 )
作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...
- [转]Apache Maven 入门篇 ( 上 )
原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...
- [转]Apache Maven 入门篇(下)
原文地址: Apache Maven 入门篇(下) 作者:George Ma 第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例.那么在对maven有了一点 ...
- [Maven]Apache Maven 入门篇
作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...
- 【Tools】Apache Maven 入门篇 ( 上 )
作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 mave ...
- Apache Maven入门篇(转)
[上篇] 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 maven 来构建运行 ...
- Maven 入门篇 ( 上 )
写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 maven 来构建运行 hello ...
- Apache Maven 入门篇
2017-11-09注释:IntelliJ IDEA 2017.2.5 x64 等新版本会安装maven,为了有好的体验 建议在安装目录找到IntelliJ IDEA 2017.2.5\plugins ...
随机推荐
- 从今天開始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用
iOSFoundation框架 当你着手为你的应用编写代码的时候,你会发现有很多可供使用的Objective-C的框架类,当中尤其重要的就是基础框架类.它为平台全部的应用提供基础服务.基础框架类中包括 ...
- python:生成器进阶
1,列表推导式 值 for 循环 2,生成器表达式 g=(i for i in range(10)) print(g) for i in g: print(i) 3,列表推导式与生成器表达式的区别 # ...
- 行高 line-height
一.行高的定义 line-height(行高):两行文字基线之间的距离 1.什么是基线? 2.为何是基线? 3.需要两行吗? 1.什么是基线? 我们上学的时候都用过,抄写英文字母的时候.其中有一条红线 ...
- 【洛谷P1966】火柴排队
火柴排队 题目链接 ∑(ai−bi)^2=∑ai^2-2*∑ai*bi+∑bi^2 显然∑ai^2+∑bi^2是不变的,我们要让 2*∑ai*bi最大,才能使原式最小 然后我们一眼就可以看出来, ...
- JavaScript面向对象编程之创建对象
参考资料依旧<JavaScript高级程序设计>,不得不说这本书写的太好了,讲的极为清晰凝练,好书! 先给出重点笔记,好好理解下面的三条笔记,每一句话都很重要: 1.实例的指针仅指向原型, ...
- HDU 1429 胜利大逃亡(续)(bfs+状态压缩,很经典)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) ...
- Python—面向对象 封装03
接着上面的一篇继续往下: 如何隐藏 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) class A: __x = 1 # _A__x = 1 def __init__(self, ...
- Spring 事务声明无效果(转)
为了打印清楚日志,很多方法我都加tyr catch,在catch中打印日志.但是这边情况来了,当这个方法异常时候 日志是打印了,但是加的事务却没有回滚. 例: 类似这样的方法不会回滚 (一个 ...
- axios基础用法
概述: 1.axios:一个基于Promise用于浏览器和nodejs的HTTP客户端.本质是对ajax的封装. 特征: 1>从浏览器中创建XMLHttpRequest 2>从node.j ...
- POJ 2398--Toy Storage(叉积判断,二分找点,点排序)
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6534 Accepted: 3905 Descr ...