博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven环境搭建
阅读量:3962 次
发布时间:2019-05-24

本文共 4990 字,大约阅读时间需要 16 分钟。

Maven简单介绍

Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。

简单理解:
管理项目jar包
作用:
完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
主要问题
1、jar包依赖的问题
2、jar包冲突的问题(版本冲突)
例如依赖:
a.jar–>b.jar
mvc.jar–>反射相关.jar
例如版本
mysql-5.44.jar
Jar包来来源
1、百度—》 xxx.jar
在百度上进行下载将xxx.jar导入工程中
2、私服
工程中的某一个xml文件中写入一个字符串,达到jar下载的作用
3、国外的网站
阿里私服没有的就是直接到国外的网站上进行搜索下载的。
为什么需要私服
如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,
而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,
还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?
开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,
这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件

Maven安装与配置

1 下载maven安装包,解压即可使用

网址:http://maven.apache.org/download.cgi
我使用的版本:
在这里插入图片描述
2 配置maven环境变量
2.1 MAVEN_HOME
2.2 M2_HOME
在这里插入图片描述
2.3 修改path添加maven相关路径
配置方式跟jdk有些类似,环境变量MAVEN_HOME和M2_HOME的值为maven的根目录、
然后在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
在这里插入图片描述
3 验证
doc窗口执行命令“mvn –version”
在这里插入图片描述
4 修改“MAVEN_HOME\config”下的setting.xml文件,配置本地仓库。
注意是:“E:/”而非“E:\”
例如:E:/mvn-repository
注1:标签在setting.xml文件的53行
注2:仓库的作用就是用来存放jar包的
注3:仓库的分类
中央仓库
公司仓库(也叫私人仓库或私服)
本地仓库

中央仓库([中央仓库](http://search.maven.org)/,但一般使用另外一个网站:(http://www.mvnrepository.com)/)       公司仓库       本地仓库                    公司里面还会有一个大仓库(本地)全公司使用         本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用  注4:jar的查找顺序:本地仓库->私服->中央仓库  注5:换源“阿里云”

在这里插入图片描述

5 maven插件安装与配置
注1:eclipse4.0以上已经安装好了,无需额外配置
注2:设置maven安装路径
Installations
在这里插入图片描述
在这里插入图片描述
注3:指定setting.xml文件
User Settings(本地仓库下载地址)
在这里插入图片描述
Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围的,
整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
推荐使用用户范围的setting.xml,主要是为了避免无意识地影响到系统中的其他用户,
而且为了以后maven升级的方便,直接把配置文件从仓库拷过去就可以了。
测试
在这里插入图片描述

Maven的使用1:创建java项目2:创建web项目

Maven project

maven-archetype-quickstart

group id:组织id,一般就是公司域名反写

artifact id:项目名字
version:版本
package:java包名

src/main(源代码)

src/test(测试代码)
target
编译后、打包后的文件
集成Maven
1
在这里插入图片描述
2
在这里插入图片描述
3
在这里插入图片描述
4
在这里插入图片描述
编写过程中出现的问题:配置的存储库出现问题。
在这里插入图片描述
在这里插入图片描述
原因
在这里插入图片描述
修正:
在这里插入图片描述
注意
删除maven文件否则会重复报以上错误(哪怕已经没有错误)
在这里插入图片描述
注意(初期问题)
1、注意要选择internal
2、加载时间过长,不要强制关闭
3、默认创建出来的maven项目是不可用的(重点)在这里插入图片描述
图示
在这里插入图片描述
如何解决默认创建出来的maven项目不可用
解决方案:一共五个步骤
1修改pom.xml
原pom.xml代码

4.0.0
com.zxp
cs
war
0.0.1-SNAPSHOT
cs Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
cs

修改后的pom.xml(需要的jar包依赖)

4.0.0
com.zxp
cs
war
0.0.1-SNAPSHOT
cs Maven Webapp
http://maven.apache.org
junit
junit
4.12
test
mysql
mysql-connector-java
5.1.44
javax.servlet
javax.servlet-api
4.0.1
provided
cs

注意markers没有看似解决实际没有

在这里插入图片描述
2配置maven-compiler-plugin插件(web3.1设置)

4.0.0
com.zxp
cs
war
0.0.1-SNAPSHOT
cs Maven Webapp
http://maven.apache.org
junit
junit
4.12
test
mysql
mysql-connector-java
5.1.44
javax.servlet
javax.servlet-api
4.0.1
provided
cs
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
1.8
UTF-8

3修改web.xml

Archetype Created Web Application

4修改默认版本为配置版本

4.1
在这里插入图片描述
4.2
4.2.1
在这里插入图片描述
4.2.2注意取消勾然后选中修改的版本点击应用apply然后再点勾
在这里插入图片描述
4.2.3
在这里插入图片描述
4.3点击ok—》apply—》applyandclose
在这里插入图片描述
5
5.1
在这里插入图片描述
5.2点击ok

在这里插入图片描述

注意文件夹项目默认不全
如何解决
1.1
在这里插入图片描述
1.2
在这里插入图片描述
测试代码

package com.zxp.cs;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/mavenTest")public class MavenServlet extends HttpServlet{	private static final long serialVersionUID = 2961710045358566480L;	@Override	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {		doPost(req, resp);	}	@Override	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {	System.out.println("maven 环境搭建完毕!!!");		}}

在这里插入图片描述

总结

maven是maven管理的一个仓库

用来存放jar包
流通过程图解:

在这里插入图片描述

理解dependency的组成

junit
《—公司名
junit
《—项目名
4.12
《—代表哪个版本

转载地址:http://tyrzi.baihongyu.com/

你可能感兴趣的文章
Advanced searching - fields reference
查看>>
Advanced searching - operators reference
查看>>
LoadRunner之——Java vuser
查看>>
LoadRunner之——场景创建、设置、运行
查看>>
QTP基本使用——Recovery Scenarios
查看>>
Ruby 的优缺点
查看>>
Ruby 教程(一)
查看>>
Ruby 教程(二)
查看>>
Android——简介
查看>>
Ruby 教程(三)
查看>>
Ruby 教程(四)
查看>>
GHOST后只剩下一个分区后的解决方法
查看>>
局部变量、全局变量、对象变量、类变量
查看>>
手动测试 VS 自动测试
查看>>
QTP基本使用——WORD
查看>>
QTP基本使用——Excel
查看>>
QTP基本使用——检查焦点
查看>>
排序算法之一
查看>>
ArrayList与Vector的区别
查看>>
QTP之描述性编程Descriptive Programming(一)
查看>>