一、在eclipse中配置maven

其实有的eclipse中也自带maven,但因为它的版本固定的太死了,很可能其他人的项目到你的电脑中就跑不了了,所以能自定义我们的maven会更好。

首先进入Perferences,找到maven–>Installations,然后add我们自己下载的maven
Eclipse中配置maven并创建maven的web项目_eclipse配置maven

add后记得打上勾。

当本地仓库jar包好多的时候,为了提高检索的速度,我们还要构建索引。

我们进入Perferences—->show view—>other,找到maven
Eclipse中配置maven并创建maven的web项目_maven依赖_02

Eclipse中配置maven并创建maven的web项目_工具_03

可以看到有本地仓库第一次打开里面啥也没有,我们要进行一些设置。我们在本地仓库上右击rebuild Index
Eclipse中配置maven并创建maven的web项目_工具_04

刷新之后我们就能看到本地仓库的jar包已经导进来了
Eclipse中配置maven并创建maven的web项目_Maven_05

二、eclipse创建一个maven类型的web项目

点击new一个maven project,记得把下面这玩意勾上
Eclipse中配置maven并创建maven的web项目_eclipse配置maven_06
然后要填写一些信息
Eclipse中配置maven并创建maven的web项目_工具_07

选择jar就是普通的java项目,选择war就是web 项目,这里我们选择war
Eclipse中配置maven并创建maven的web项目_工具_08

之后点击finish就可以完成,但我们会发现完成后会报错
Eclipse中配置maven并创建maven的web项目_maven依赖_09

它的意思就是说我们缺少一个web.xml,我们在src目录下的main目录下面的webapp目录下新建一个WEB-INF,然后找个web.xml弄进去,错误就会消失。
Eclipse中配置maven并创建maven的web项目_Maven_10

之后你又会发现库的版本不对
Eclipse中配置maven并创建maven的web项目_工具_11

靠,这还不会,不就是build path嘛,build一下的确行,然后如果你update project会发现特么的又变回去了,所以最好的办法就是去改一下pom.xml

  <!-- 添加项目jdk编译插件 -->
  <build>
    <plugins>
        <!-- 根据自己jdk的版本进行设置 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
  </build>

改完之后,再update project也不怕了。

三、maven整合servlet

接着我们在上面的项目中新建一个servlet看看,记得是在java resources的src/main/java这个目录下,新建servlet之后,你会发现又给报错了,找不到相应的jar包。
Eclipse中配置maven并创建maven的web项目_maven创建web项目_12

这时我们得添加依赖,在pom.xml页面,右键点击maven–>Add Dependency,输入servlet,就能看到本地仓库中的jar包,选择即可
Eclipse中配置maven并创建maven的web项目_eclipse配置maven_13

那肯定有小伙伴要说了,如果我本地仓库没有相应的jar包怎么办?

这时我们可以去maven的中央仓库找啊http://mvnrepository.com/,进去之后,我们搜索一个比如servlet,选择版本之后,就会有一个maven的依赖,如下图
Eclipse中配置maven并创建maven的web项目_工具_14

我们把这些代码复制到我们项目的pom.xml中,它就会去本地仓库找,如果没有找到,就会去中央仓库下载,因为我们之前配置了阿里云的镜像,所以它会去阿里云下载,速度杠杠的。

四、Maven依赖范围

像上面导入了servlet的jar包之后,其实还有一个问题,那就是maven依赖范围的问题。每个jar导入时默认的scope是compile,关于maven的依赖范围,如下图
Eclipse中配置maven并创建maven的web项目_工具_15

如果servlet的jar包不改变它的scope,那么默认为compile,在运行时也会存在,就会和tomcat中的servlet api发生冲突,从而引起报错,关键还特么不好找。所以记住要把servlet包括jsp的jar包范围改成provided。
Eclipse中配置maven并创建maven的web项目_maven创建web项目_16

五、运行该web项目

我们在该项目名称上右击
Eclipse中配置maven并创建maven的web项目_Maven_17

选择maven build….,输入下图的命令,点击run即可。
Eclipse中配置maven并创建maven的web项目_eclipse配置maven_18

一些常用命令如下
Eclipse中配置maven并创建maven的web项目_eclipse配置maven_19