Maven的使用入门
0.什么是maven?
- 它是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建
1.我们为什么要使用maven?
- 使用maven构建的项目不包含jar包文件,所以整个项目的体积非常小

maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。

- 项目一键构建:使用maven可以快速地对项目进行编译--测试--运行--打包--安装

- maven的跨平台,可在window、linux上使用
- maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。

2.maven的安装
- maven的下载 : http://maven.apache.org/download.cgi
- 下载后解压到一个地址,路径地址不包含地址
- maven的环境变量配置 :
将 %MAVEN_HOME%/bin 加入环境变量 path

- 测试是否成功 在命令行中 输入
mvn -v
3.maven仓库的配置 也就是当项目需要jar包的时候通过坐标去仓库寻找jar包
- 仓库的分类
- 本地仓库
- 私服(公司的仓库)
- 中央仓库

- 本地仓库的配置
- 编辑 apache-maven-3.3.9\conf 目录下settings.xml 增加节点 中间
J:\maven\mavenwarehouse
是你的本地仓库地址
<localRepository>J:\maven\mavenwarehouse</localRepository>
- 编辑 apache-maven-3.3.9\conf 目录下settings.xml 增加节点 中间
- ps:什么是本地仓库? 本地仓库是由个人将常用到的jar包放入一个仓库中 已备自己在项目中使用 可从网络上下载别人配置好的jar包仓库 仓库一般很大
4.maven项目的目录规范

5.maven的常用命令
- 进入一个测试项目的目录 复制项目地址
本地的一个测试项目的项目地址 J:\ecplisework\testmaven
进入命令行 进入该目录

- complile命令 compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下
mvn compile

- test命令 : test是maven工程的测试命令,会执行src/test/java下的单元测试类。 例如我现在由一个测试的方法输出"我现在测试啦..........."

- clean 命令 :clean是maven工程的清理命令,执行 clean会删除target目录的内容。例如我现在清理掉刚才编译生成的target的目录

- package 命令 : package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。例如我现在将这个测试项目打成war包,提示打包成功,并且位置在target目录下

6.如何使用ecplise开发maven项目
- 插件:现在的ecplise版本一般包含由maven插件,如果是低版本请按章m2e插件
- 在ecplise中添加自己的maven

- 告诉ecplise自己的本地仓库的位置 就是maven的配置文件地址

- 构建索引
- 打开maven窗口
Window---show view ------other----------maven Repositories

- 开始构建索引

- 打开maven窗口
- 在ecplise创建一个maven项目

- 选择 Maven Project

- 点击next进入下面界面

- 创建成功,但是报错,添加下面内容 手动添加WEB-INF和web.xml文件 因为一个标准的web项目必须包含这些内容

- 在src/java/main创建一个servlet,但是又报错了

- 要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar 直接打开helloworld工程的pom.xml文件,再添加坐标
自己生成下面代码

添加jar包的坐标时,还可以指定这个jar包将来的作用范围

注意修改 下面几个选择provided 否则在发布的时候会和tomcat提供的又jar包冲突

Maven的使用入门的更多相关文章
- 转载maven安装,配置,入门
转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...
- maven学习记录一——maven介绍及入门
1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2 Maven好处 普通的传统项目 M ...
- Maven使用--基本入门
maven学习(上)- 基本入门用法 转载自:https://www.cnblogs.com/yjmyzz/p/3495762.html 参考: http://www.cnblogs.com/dave ...
- appium + maven +jenkins 基本入门之二 新建maven 的java项目
1: 下载maven : 1.0 :设置maven的环境变量: 1.1: 设置maven本地仓库: 在下载好的maven文件夹找到 apache-maven-3.3.9/conf 文件夹下的setti ...
- maven 教程一 入门
摘要: (1)maven是项目管理工具,类似makefile.主要的生命阶段有 validate:验证工程是否正确,所有需要的资源是否可用. compile:编译项目的源代码. test:使用 ...
- Maven 结合 IDEA 入门实践
一.Maven 基本安装 1. 下载 首先来到 http://maven.apache.org/download.cgi ,直接下载以 -bin.zip 结尾的文件,如图 2. 存储位置 将其解压后, ...
- IntelliJ IDEA下Maven SpringMVC+Mybatis入门搭建例子
很久之前写了一篇SSH搭建例子,由于工作原因已经转到SpringMVC+Mybatis,就以之前SSH实现简单登陆的例子,总结看看SpringMVC+Mybatis怎么实现. Spring一开始是轻量 ...
- maven学习-基本入门用法
一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本 ...
- Maven笔记 #01# 入门
索引 Maven是干什么的? 用Maven的好处 Maven与命令行 Maven与IntelliJ IDEA 一.Maven是干什么的? 我相信只要你写过足够多的代码,就... 肯定有思考过写一个脚本 ...
- Maven+eclipse快速入门
1.eclipse下载 在无外网情况下,无法通过eclipse自带的help-install new software输入url来获取maven插件,因此可以用集成了maven插件的免安装eclips ...
随机推荐
- js 字符串拼接 html 累加 html 叠加
正常来说已经使用es6 的 模板了如`` //页面层 layer.open({ type: 1, content:`<div class="child_card"> & ...
- java程序猿常用Linux命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...
- svnserver权限问题
打开visualSVN server 右键Users,新建user/Create user 输入username.password.确认password.依据须要建立对应的用户 右键Groups,新建 ...
- Linux 进程资源用量监控和按用户设置进程限制
每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方 ...
- 李洪强iOS经典面试题34-求两个链表表示的数的和
李洪强iOS经典面试题34-求两个链表表示的数的和 问题 给你两个链表,分别表示两个非负的整数.每个链表的节点表示一个整数位. 为了方便计算,整数的低位在链表头,例如:123 在链表中的表示方式是: ...
- The difference between Severity and Priority
The difference between Severity and Priority[1] 2015-06-24 There are two key things in defects of th ...
- linux命令之fuser
Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME... [ - ] [ -n SPACE ] [ -SIGN ...
- jq判断元素class是否定义了CSS样式
if($("div").attr("class")==null) 如果$("div").attr("class")为空, ...
- 在eclipse中执行sql的编码问题
症状-分析: 刚才在eclipse中执行sql文件,发现数据进入数据库的时候总是乱码 后来查看MySQL的编码设置,全是UTF8,没问题,sql文件本身也是UTF8的编码 并且,使用MySQL的CMD ...
- 起航,第一个程序——还是LED灯
如同学基本语言一样,helloworld是很多语言的第一个程序.在嵌入式开发中,点亮LED灯也是各种架构和开发板的第一个程序,其中很多东西是和单片机例如stm32是类似的,只是,现在我们没有了库函数, ...