Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
(一)Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,
一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),
和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,
你用一个明确定义的项目对象模型来描述你的项目,
然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
(二)Maven 有一个生命周期,当你运行 mvn install 的时候被调用。
这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。
遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,
这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
下载maven安装包,解压即可使用
http://maven.apache.org/download.cgi
(一)选中计算机右键属性
(二)选择高级系统设置,点击环境变量
(三)开始配置MAVEN_HOME、M2_HOME以及修改path添加maven相关路径
新建一个MAVEN_HOME;变量值就是maven解压包的根目录
新建一个M2_HOME;变量值就是maven解压包的根目录
修改path添加maven相关路径
在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
修改“MAVEN_HOME\config”下的setting.xml文件,配置本地仓库。注意是:“E:/”而非“E:\”
注:就是把自己手动创建的文件夹目录放入setting.xml文件中
例如:E:/mvn-repository
注1:eclipse4.0以上已经安装好了,无需额外配置
注2:设置maven安装路径
Installations
注3:指定setting.xml文件
User Settings
Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围的,
整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
推荐使用用户范围的setting.xml,主要是为了避免无意识地影响到系统中的其他用户,
而且为了以后maven升级的方便,直接把配置文件从仓库拷过去就可以了。
(一)创建好项目
(二)选择webapp结尾的
(三)设置好项目名称
在pom.xml中配置Servlet
javax.servlet
javax.servlet-api
4.0.1
provided
中央仓库:开发中所有需要的jar包,jar包以流的形式传给jar
project:所需要引用jar包进行开发
简单介绍一下project中的代码
groupId:相当于一个公司
artifactId:相当于公司的项目
version:相当于公司项目的版本(一般是4.12)
意义:可以很明确的找到所需要的jar包
阿里私服:java开发所要用到的jar放到了自己的服务器中,节省了下载的流量
修改web.xml由2.3至3.1
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
UTF-8
继续配置
(一)右击项目选择Properties,找到Project Facets
(二)更改Java,改为1.8
(三)更改Dynamic Web Module,改为3.1
注:更改Dynamic Web Module时,需要把√去掉,在进行更改,更改好以后在进行√上
(四)、点击黄色的提示,进行默认的更改
(五)最后一步、消除报错
选中Maven右键找到Maven,在点击update进去,最后点击OK,错误就消除了
src:放着所有的java代码,jsp界面;
main:里面拥有三个文件夹java(所有的java代码)、resources(所有的配置文件)、webapp(放着所有的jsp活着html)
test:放着所有的测试代码;拥有两个文件夹java、resources(用的时候需要手动创建)
target:放着所有编译的classes文
件
创建一个Servlet
package com.wyy.maven;
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("/demoServlet")
public class DemoServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 3176636127642000091L;
@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("meven启动成功!!!");
}
}