首先maven插件是eclipse自带,在eclipse首页,在主菜单点window -->preferences可以看到下图

 如果没有只可能是eclipse版本过低,在这里需要修改两个地方,并且这种修改的作用范围是工作区,也就是eclipse-workspace,但更换工作区后就需要重新设置。第一处需要修改的地方是Maven下的Installations,可以看到介绍,即选择一个Maven使用,第一个EMBEDDED就是eclipse内置的Maven,最后一个是我自己添加的,原先没有。

 然后就是自己添加

 进入添加

 然后Finish,选择apply应用就行了,还有一个修改的地方如下

 选择自己安装Maven时配置的设置文件,下面的仓库目录会自动调整为,settings文件中设置的目录。原本的目录目的是让我们覆盖.m2下的settings.xml,即拷贝过去,没必要维护两个settings文件,所以直接用maven下的就行。

然后就是创建Maven项目了,自己找到创建就行了,在创建时会看到maven project和maven module,其中项目即可以独立存在的程序,但是module必须依赖于项目存在,是一个项目的组成部分。类似于idea的project和module,所以直接创建项目project即可。

 然后就是项目信息填写

 在这里可能还需要做一步修改,是情况而定,如下

 这里的修改是修改maven的settings.xml文件,用于指定maven使用的jdk版本。当然也可以直接修改eclipse里的设置,但是每一个maven项目都需要修改一次,所以修改文件更简单。只需将下列配置,写入settings.xml的profiles标签内。

<profile>
  <id>jdk-1.8</id>

  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties>
</profile>

上文件,指定了jdk版本为1.8,已经创建的版本会自动调整。这样就完成了maven中java项目的创建。这时候只需要右键pom.xml文件选择maven,但你有程序时,出现maven命令。如果没有想要的命令可以在Maven build...这个后面带省略号中输入自己需要的命令。

下面是maven javaweb项目的创建。

maven 的web项目需要在创建时指定。

 第一步相同,之后就是

 要注意,选择打war包,在创建完成后就会报错

 因为maven中没有提供tomcat给eclipse的运行时环境,或者说是缺少servlet-api的jar包。所以在pom中添加即可,如下

 自己找个servlet-api能用就行。在添加过后还是有报错,报错信息如下

web.xml is missing and <failOnMissingWebXml> is set to true

就是说我们缺少web.xml,打开src-->main-->webapp。我们发现里面什么都没有,与以前创建的web项目相比,缺少了META-INF和WEB-INF还有其内部的信息。所以下一步是添加这些文件。注意在使用Maven创建web项目的时候,webapp代替了原本的WebContent目录。所以步骤,在maven的web项目上右键-->properties得到下图

 选择project facets,然后取消Dynamic Web Module前面的勾选。然后apply,然后再将Dynamic Web Module选上,如下

 得到这一行后,点开如下

 点击OK然后apply and close,就可以得到需要的目录结构和web.xml文件,此时错误消除。但是如果需要在jsp文件中正常使用,即有正确提示还需要一个jsp-api的依赖,如果想要使用标签库中的标签还需要jstl标签库,所以一般的初始配置如下,注意有的是<scope>provided</scope>

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.testweb</groupId>
    <artifactId>webexample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <!-- 识别servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- 正常使用jsp中的el表达式 -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
        <!-- jstl标签类 -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
</project>

OK。

12-20 11:30
查看更多