Maven入门----介绍及环境搭建(一)
知识点:
- 介绍Maven
- 本机搭建Maven环境
- DEMO测试
- 本地仓库迁出
Maven简介:
百度百科:

说到底就是一个项目管理工具。
本机搭建Maven环境:
Maven的环境需要jdk环境的支持,首先要保证本机上已经有jdk环境,并且环境变量配置成功。

下载地址:http://maven.apache.org/download.cgi

目前已经有3.39版本了,我这里使用的是3.3.3的。现在基本都是maven3了,以前用的2已经淘汰了。
在本机的D盘下新建一个maven文件夹,将下载好的压缩包放进去,解压到这个文件夹下面,如

环境变量配置:
M2_HOME= D:\maven\apache-maven-3.3.3

Path=;% M2_HOME%\bin;

测试是否安装成功:
mvn -version

在这里安装就成功了。
DEMO测试:
在D盘下建立D:\HelloWorld\src\main\java\com\qinb\helloWorld文件夹路径,然后在此路径下建立一个HelloWorld.java类:
代码:
package com.qinb.helloWorld;
public class HelloWorld{
public String sayHello(){
return "Hello World!";
}
public static void main(String []args){
System.out.println(new HelloWorld().sayHello());
}
}
在D:\HelloWorld下建立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>com.qinb.HelloWorld</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
</dependencies>
</project>
注意:
modelVersion:POM 模型版本 4.0.0 固定
groupId:一般指某个公司或者某个组织的某个项目 比如 org.springframework
artifactId:一般指某个具体项目的某个具体模块 比如 spring-context
Version:项目的版本
Maven 常见命令
Mvn compile 编译
Mvn clean 清空
Mvn test 测试
Mvn package 打包
Mvn install 把项目安装到本地仓库
Mvn 远程仓库地址:http://mvnrepository.com/
这样就已经可以开始测试了,打开cmd窗口,首先进入项目下D:\HelloWorld,第一次运行会从远程仓库中下载很多支持包,会花一点时间
测试:mvn compile

编写测试类:
Maven的路径名都是有要求的
在D:\HelloWorld\src\test\java\com\qinb\helloWorld下新建一个HelloWorldTest.java类
代码:
package com.qinb.helloWorld;
import org.junit.Test;
public class HelloWorldTest{
@Test
public void testSayHello(){
HelloWorld helloWorld=new HelloWorld();
String result=helloWorld.sayHello();
System.out.println(result);
}
}
因为这里用的测试类是需要Junit的支持,所有在pom.xml中添加Junit.jar包
首先去mvn的远程仓库中寻找到我们需要用到的包:直接搜索Junit就行了,选择第一个,这个远程仓库还是比较好用的,想要什么就要什么,我们只需要添加相关代码就行,当项目在运行中的时候会自动从远程仓库中下载相应包到本地仓库。

选择第一个。


复制代码到pom.xml中就行了。

然后测试测试类:在第一次运行的时候也同样会从远程仓库中下载很多的支持包。需要等一点时间。
Mvn test

测试成功。
Mvn package直接用就行了,用完之后会在D:\HelloWorld\target下,生成一个jar包

本地仓库迁出。
当我们在第一次运行的时候或者以后会遇到更多的jar包,会下载很多,maven默认是下载到C盘下。这里我将默认的下载的本地仓库的地址修改到D盘去。
首先打开:D:\maven\apache-maven-3.3.3\conf下的setting.xml修改,添加如下红线框内的内容。
<localRepository>D:\maven\repository</localRepository>
我这里将本地仓库的地址修改成D:\maven\repository,然后保存即可,不过修改了地址后,再运行mvn的时候第一次会继续下载很多jar包,需要花时间。

Maven入门----介绍及环境搭建(一)的更多相关文章
- maven课程 项目管理利器-maven 1-2maven介绍和环境搭建
maven简介: Maven是基于项目对象模型(POM),通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 1.1 Maven安装文件夹的结构 bin 目录放置包含mvn的运行脚本 ...
- Maven快速入门(一)Maven介绍及环境搭建
做开发的程序员都知道,在系统开发需要各自各样的框架.工具.其中有一种工具不管你是初级程序员还是高级程序员都必须熟练掌握的,那就是项目管理工具(maven.ant.gradle).接下来就总结Maven ...
- Maven介绍及环境搭建
Maven介绍及环境搭建 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 下载Maven boot:类加载器框架,Maven使用它加在自 ...
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- [springboot 开发单体web shop] 1. 前言介绍和环境搭建
前言介绍和环境搭建 简述 springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢? 在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小 ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- ElementUI入门和NodeJS环境搭建
1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它 ...
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...
- Mule 入门之:环境搭建
Mule 入门之:环境搭建 JDK1.5或以上版本Eclipse3.3以上 下载与安装:目前最新版本为2.2.1 下载,下载后得到一名为mule-standalone-2.2.1.zip的压缩文件,解 ...
随机推荐
- 把本地jar包发布到maven私服和本地maven库
有时时候下载了jar包,但发现maven库里没有,可以将jar包上传到本地私服和本地maven库: 1.上传到本地私服 mvn deploy:deploy-file -Dfile=D:\GETUI_S ...
- 音悦台mv视频下载
需要获取的页面: 参考了此处,做了修改,代码如下: #coding:utf-8 import urllib2 import urllib import re import sys import os ...
- [转载]Java动态填充word文档并上传到服务器
一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...
- ionic2常见问题——修改应用图标及添加启动画面(官方命令行工具自动生成)
1.项目根目录->resources 分别存放应用图标及添加启动画面,替换成自己的图案既可. 2.这样在命令行中重新运行ionic resources ,就能看到应用图标和名字已经被替换了: 3 ...
- 用I/O口模拟总线时序
在做总线通信过程中,我们很少会用到这样方法,一般在我们选择MCU的时候都会带有你所需要的通信接口.但是,对于一些简单的通信应该用的场合,一般在一些传感器的数据通信过程中,传感器厂商会将通信协议做一些改 ...
- LeetCode OJ:Sqrt(x)(平方根)
Implement int sqrt(int x). Compute and return the square root of x. 简单的二分法,注意mid应该选为long,否则容易溢出: cla ...
- LeetCode OJ:Spiral Matrix(螺旋矩阵)
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- CodeIgniter (CI)框架中的数据库查询汇总
引言: 前两天业务涉及到一个拉取答题排行榜的需求,数据库里数据是这样的: 同一个人可能提交过多次成绩,所以同一个人可能会有多次记录: 同一个人提交的多次成绩中可能有至少两次成绩是一样的. 于是,查询的 ...
- 剑指Offer(第二版)面试案例:树中两个节点的最低公共祖先节点
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/74612786冷血之心的博客) 剑指Offer(第二版)面试案例:树 ...
- 使用RateLimiter完成简单的大流量限流,抢购秒杀限流
RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率. 通常可应用于抢购限流防止冲垮系统:限制某接口.服务单位时 ...