Maven
1. Maven是什么
Maven是一款服务于Java平台的自动化构建工具, Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。
2. 为什么使用maven
Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
使用maven可以帮助我们处理第三方依赖,及传递依赖。
规范目录结构,(可以通过配置使用个性化的目录结构,但不建议这么做)
方便的打包,部署功能
方面的多模块管理能力
丰富的扩展插件,扩展功能,如代码检查插件,单元测试插件等。
3. 什么是自动构建工具
原始方式
HelloWorld.java --(javac) --> HelloWorld.class ----> java HelloWorld
IDE集成开发环境
例如: eclipse,IDEA
传统的web项目搭建时,一般是先手动的获取依赖的jar包,然后在放入web-inf的lib包下,如果存在传递依赖,则需要自己将相关的jar包下载下来并放入web-inf的lib包下,使用maven只需要在pom配置文件中将依赖配置好,maven会自动处理依赖。
4. 常用的构建工具
ant
maven
Gradle android项目管理和构建已使用
5. Maven安装与配置
5.1 下载
载maven安装包,解压即可使用,下载地址:http://maven.apache.org/download.cgi
5.2 配置maven环境变量
MAVEN_HOME
M2_HOME
修改path添加maven相关路径
5.3 验证
doc窗口执行命令“mvn –version”
5.4 配置
1) 换源
为什么换源
因为咱们下载安装的maven默认配置的源的服务器在国外,所以对于咱们来说,下载jar包的速度会很慢,所以咱们要把它替换为咱们国内的,可以换成好多,如华为源,阿里源等等,这里我换的是阿里 源。 换仓库地址的原因是因为maven默认把从服务器下载的jar包放在:$ {user.home}/.m2/repository 这个地址中,一般这个地址是在C盘,如果你下载的jar包过多过大的话,难免会占用C盘的大量空间,所以通过更换仓库地址的方式,将地址放在非C盘的其他盘,也容易进行jar包的管理。
2) 配置本地仓库的位置
创建一个MAVEN_HOME变量记录你安装的maven的位置,然后在path使用%MAVEN_HOME%\bin即可
6. 基本使用
6.1 maven的三种仓库
远程仓库
公司私服
本地仓库
6.2 maven坐标
group id:组织id,一般就是公司域名反写
artifact id:项目名字
version:版本
6.3 标准目录结构
src/main(源代码)
src/test(测试代码)
target 编译后、打包后的文件
6.4 pom介绍
Project Object Model,项目对象模型。通过xml格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大
该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。
6.5 web项目创建实例
1) 创建maven项目
选择maven-archtype-webapp
2) 进入servlet相关的包
点击【finish】即可
3)修改为web3.1
第一步:修改pom.xml
<build>
<!-- 请改成自己项目的名字 -->
<finalName>mavendemo</finalName>
<plugins>
<!--第一步就是配置maven-compiler-plugin插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
刷新maven : Maven -> Update project
第二步:修改web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Archetype Created Web Application</display-name>
</web-app>
第三步: 修改eclipse 的 .settings 配置文件 (org.eclipse.wst.common.project.facet.core.xml)
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>
修改完成后将项目部署,运行,测试是否正常。