Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
1、什么是自动构建工具?
1.1 *.java->*.class->run
方式一
javac HelloWorld.java
java HelloWorld
方式二
开发工具eclipse
1.2 如何创建一个struts2的WEB项目(全手动添加相关jar包,还要设置构建路径)
2、常用的自动构建工具
ant
maven
Gradle android项目管理和构建已使用
1、下载
在官网中下载maven包,解压后即可使用
Maven官网
注:在这里需要注意,解压后的文件夹所存放的路径不能存在中文,不然会有问题
2、配置maven环境变量
鼠标右键点击我的电脑 —> 点击属性 —> 选择高级系统设置 —> 环境变量 —> 在系统环境变量中配置
MAVEN_HOME、M2_HOME 和 Path:
环境变量MAVEN_HOME和M2_HOME的值为maven的根目录,然后在Path环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
验证是否配置成功:
在doc窗口中执行命令“mvn –version” ,当出现如下版本信息时,表示环境变量配置成功了。
温馨提示:验证maven是否配置成功有一个前提,你电脑上配置了jdk的环境变量。
1、配置本地仓库
修改“MAVEN_HOME\conf”下的setting.xml文件,指定一个路径为你的本地仓库路径:
找到如下代码的位置,
2、maven插件安装与配置
注:eclipse4.0以上已经安装好了,无需额外配置
1. 设置maven安装路径、指定setting.xml文件
1、创建web项目
然后点击完成,由于我们的本地仓库是空的,eclipse会下载一些插件到本地仓库中,所以第一次新建项目会很慢。
这里需要注意,下载插件的过程中不要关闭eclipse(eclipse右下角会显示插件下载的进程),否则会为以后带来不必要的错误。
插件下载完后项目是这样的:
在Markers窗口中可以看到maven的错误信息:
maven 是不会默认集成web容器的,要使用tomcat的话,需要在maven中导依赖。
所有的jar包都在pom.xml中添加:
在导依赖之前,是需要进行一些配置的,将下面画红线的部分copy到pom.xml中
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
UTF-8
修改web.xml文件:
Archetype Created Web Application
前后对比
Archetype Created Web Application
改好之后还没完,
鼠标右键点击之前新建的maven项目,然后点击 Properties,选择Project Faces:
这里需要改两个地方:一个是java的jdk版本、一个是web的版本,改成之前配置的。 (1.8对3.1 , 1.7对3.0)
然后改web(这里注意,直接改是会报错的,):
把web前面的勾去掉,将版本改为3.1,然后点 Apply
点击提示后会弹出下面这个页面:
至此配置完成!
配置好之后,会发现项目还是报错,
servlet的jar包依旧没有,现在就可以去pom.xml中导依赖了:
1、去中央仓库找jar包: https://mvnrepository.com/
搜索servlet:
将上面划红线的代码复制下来, 粘贴至pom.xml中,按钮ctrl+s保存会自动下载我们导的依赖:
4.0.0
com.csdn
maven_test
war
0.0.1-SNAPSHOT
maven_test Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
javax.servlet
javax.servlet-api
3.1.0
provided
maven_test
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
UTF-8
下载完后会发现项目没报错了:
至此,所有操作已经完成!
1、maven的层级结构
src/main/java 目录放java文件
src/main/resources 目录放配置文件(如struts2的配置文件)
src/test/java 目录放测试文件
2、私服的配置
这里配置的为阿里云的私服, 将阿里云的镜像copy进去就行了
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
验证是否配置成功,在maven项目中导jar包的依赖,如果该jar包下载成功,则配置成功