用起来超爽的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 ...
随机推荐
- 如何使用react-redux
之前学习了react,也学习了redux,那么react-redux是什么呢?实际上他是一个第三方的模块,他可以帮助我们在react之中更加方便的使用redux.首先如果想用react-redux,先 ...
- hibermate一对一关联
在hibernate.cfg.xml配置<mapping class="oneToOne.IDCard" />,以及实体类的get和set方法省略了. User类 @E ...
- Ubuntu 16.04 安装 IDEA
1.下载地址:https://www.jetbrains.com/idea/download/#section=linux 选择without jdk版本下载 2.下载完成 解压 到 /opt下 先却 ...
- 用js写三级联动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【洛谷P3389】(模板)高斯消元
对于高斯消元法求解线性方程组, 我的理解就类似于我们在做数学题时的加减消元法, 只是把它写成一个通用的程序运算过程 对于一个线性方程组,我们从左往右每次将一列对应的行以下的元通过加减消元消去, 每个元 ...
- Spring框架中的IOC?
Spring中的org.springframework.beans包和org.SpringframeWork.context包构成了Spring框架IOC容器的基础.BeanFactory接口提供了一 ...
- js日期相减得到分钟数
const date1 = new Date(fieldsValue.examStartTime); const date2 = new Date(fieldsValue.examEndTime); ...
- 百度 suggestion 学习demo
其他说明文字就不用写那么多了,代码很简单,相信各位道友都能看懂,看不懂的琢磨一下就可以看懂啦.贴代码!拷贝到自己的电脑中运行文件即可,不需要服务器. <!DOCTYPE html> < ...
- POJ2823 滑动窗口
滑动最小(最大)值,模版题. 题意:给一个数列,给一个窗口大小k,顺序求每个窗口中最大值和最小值. 和挑战中的例题一模一样,就多了一个求最大,改个大于小于符号就行. 算法是利用双端队列: 以求最小值为 ...
- 微信小程序 - 生命周期 - 参数传递
现在WEB开发门槛越来越高,不想java 会了就可以有工作,前端不行 ,不仅JavaScript要求不低,基础的HTML+CSS还要扎实,jquery也是必须要会,现在的前端框架 Vue Ng R ...