Maven 系列 一 :Maven 快速入门及简单使用
开发环境
- MyEclipse 2014
- JDK 1.8
- Maven 3.2.1
1.什么是Maven?
Maven是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。
2.下载及安装
- 下载最新版 Maven:apache-maven-3.2.1-bin.zip。官网下载:http://maven.apache.org/download.cgi.
- 解压文件:

- 配置环境变量(需要先配置好%JAVA_HOME%环境变量):


- 查看是否配置成功:

- 其他配置:settings.xml(后面讲到)
- %MAVEN_HOME%/conf下的settings.xml,该配置文件针对系统所有用户:

- 系统当前用户目录下.m2下的settings.xml,针对当前用户。默认没有,可自行拷贝:

- %MAVEN_HOME%/conf下的settings.xml,该配置文件针对系统所有用户:
3.Maven项目文件结构相关约定

- src/main/java - 存放项目.java文件;
- src/main/resources - 存放项目资源文件;
- src/test/java - 存放测试类.java文件;
- src/test/resources - 存放测试资源文件;
- target - 项目输出目录;
- pom.xml - Maven核心文件(Project Object Model);
4.使用MyEclipse创建Maven项目
- MyEclipse提供了Maven插件,在Installations中添加我们刚才下载配置的Maven即可。Eclipse可自行安装m2eclipse插件。

- 1.新建一个 Maven Project:

- 2.选择 workbench Location:

- 3.选择 Maven Archetype(项目骨架),这里我们选择 maven-archetype-webapp:

- 4.设置 Maven 相关参数,Group Id,Artifact Id,Version,Package。它们共同组成 Maven 的坐标:

5.后续相关配置
- 1.项目创建成功之后,我们看到 MyEclipse 默认只为我们创建了 src/main/resources,打开项目属性 - Java
Build Path - Source 一栏,可看到 src/main/java和src/test/java 显示 missing:
打开 Libraries,编辑 JRE 环境,选择自己安装的JDK:

这时,src/main/java和src/test/java 已经出来了,再自行添加 src/test/resources 目录:
- 2.接下来,设置 Project Facets。选择 Java 1.7 版本和 Dynamic Web Module 3.1 版本:

- 3.设置项目输出目录如下:

- 4.设置部署打包结构如下,删除测试相关目录:

6.pom.xml文件,添加相关 jar包依赖
- 1.打开 pom.xml文件,我们看到 Maven已经为我们添加了JUnit3.8.1 的依赖,这里我们改成 JUnit 4.11,同时添加 Servlet-api 的依赖包(原谅我的强迫症,测试喜欢用最新版本jar包):

- 2.保存之后,自动为我们添加了相关jar包。这时最开始缺少 servlet-api 相关jar包的错误已经不见了:

7.构建及部署项目
- 1.右键 pom.xml - Run As - Maven -install:

- 2.来到target文件夹下,我们看到生成了项目的部署文件:

- 3.部署项目到Tomcat应用服务器,访问项目:

Maven 系列 一 :Maven 快速入门及简单使用的更多相关文章
- ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解
前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- Gradle学习系列之一——Gradle快速入门
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...
- Gradle学习系列之一——Gradle快速入门(转)
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...
- Spring Boot【快速入门】简单案例
Spring Boot[快速入门] Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...
- SPRING-BOOT系列之SpringBoot快速入门
今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...
- ElasticSearch实战系列六: Logstash快速入门和实战
前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- 我给女朋友讲编程html系列(1) -- Html快速入门
Html是一门编写网页的语言. 在我学习Html的时候,网上的很多朋友说,直接使用[记事本]编写就行了,最后保存为后缀名为 .html 的文件. 不过,我建议你用[Nodepad++]来编写网页,用这 ...
- SPRING-BOOT系列之Spring4快速入门
上节 : spring boot简介 接着上章节的spring boot简介,我们会发现boot是基于spring的,其中最重要的就是spring容器了.那么本章着重介绍spring容器装配自定义be ...
- maven系列之一maven安装和与IDE集成
第一部分:maven的基本信息和安装,配置 maven是一个项目构建和管理的工具,提供了帮助管理 构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行依赖管理.管理二进制库等 ...
- 菜鸟系列k8s——k8s快速入门(1)
k8s快速入门 1.快速创建k8s集群 参考网站:https://kubernetes.io/docs/tutorials/kubernetes-basics 点击教程菜单 1. Create a C ...
随机推荐
- ArcGIS案例学习笔记2_2_txtexcel空间可视化和空间插值
ArcGIS案例学习笔记2_2_txt/excel空间可视化和空间插值 计划时间:第二天下午 教程:pdf page=337 数据:chapter8/ex4 方法: 1.加载xy.txt和gdp.tx ...
- ArcGIS案例学习笔记4_2_城乡规划容积率计算和建筑景观三维动画
ArcGIS案例学习笔记4_2_城乡规划容积率计算和建筑景观三维动画 概述 计划时间:第4天下午 目的:城市规划容积率计算和建筑三维景观动画 教程: pdf page578 数据:实验数据\Chp13 ...
- 前端Web安全介绍及规避。。。
本文转载自:https://jelon.top/posts/web-security/ 如果侵权,请及时告知. 一.跨站脚本攻击 (xss) 反射型跨站脚本攻击 攻击者会通过社会工程学手段,发送一个 ...
- unity3d assetbundle打包策略
由于assetbundle打包存在依赖的问题,所有资源要进行合理的分包 零.代码 代码都放在本地,包括NGUI等插件的代码.shader代码(内置的shader无需打包,而自定义的shader还是需要 ...
- 利用lipo编译合并iPhone模拟器和真机通用的静态类
利用lipo编译合并iPhone模拟器和真机通用的静态类 如何编译静态类库,而且现在网上也有很多的教程,现在问题时我们编译好了的静态类库会时两个版本的.a文件,分别用于模拟器和iPhone真迹,因此M ...
- 吴裕雄 python 机器学习-KNN算法(1)
import numpy as np import operator as op from os import listdir def classify0(inX, dataSet, labels, ...
- akka之种子节点
AKKA提供的cluser功能能够很便捷的创建一个分布式应用,在使用cluster时需要配置seed nodes节点,这里对seed nodes节点做一下介绍. AKKA seed nodes 和普通 ...
- ofstream和ifstream
ofstream(输出流)是从内存到硬盘,ifstream(输入流)是从硬盘到内存. //#include<iostream> #include<fstream> using ...
- vue 解决页面闪烁问题
watch: { //监听表格数据的变化[使用 watch+nextTick 可以完成页面数据监听的 不会出现闪烁] tableData: { //深度监听,可监听到对象.数组的变化 handler( ...
- python 之面向对象
继承粗体文本 标签(空格分隔): 继承 什么是继承: 继承是指类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代买重用问题,继承是一种创建新类的方式,在py ...