BinaryTom

导航

用Maven创建第一个WEB项目

话不多说,第一步当然是要用Eclipse新建一个Project

首先创建一个Maven的Project,开启Eclipse,File->New->Project,搜索Maven,如下图


然后,设置Workspace,勾选上Create a simple project(创建一个简单的项目),并继续


输入好对应信息,因为是需要部署的Web项目,所以Packing要选择War的形式,然后Finish


创建好后,目录结构如下,有的会像我这一样报错,这是因为缺少Web.xml,不过现在不慌,我们一会在解决


由于项目是需要部署的,所以我们要先把项目转成dynamicc web project

右键项目根目录->Properties->Project Facts,并点击Convert to faceted form...,然后会出现下图所示面板,勾选Dynamic Web Module(注:3.0只有Tomcat支持,并且Java版本要高于1.6)


然后你会发现,项目的目录里面会多出一个WebContent目录(如果Dynamic Web Module默认为选中的话,可能不会出现该目录,此时需要取消选中并Apply,然后再勾选并Apply即可)


接下来,为了符合Maven的结构,我们需要把WebContent下的META-INF和WEB-INF两个目录移动到webapp中,并且删除WebContent目录,操作后结构如下图


接下来,我们要对项目的Build Path和Deployment Assembly进行配置。

右键项目->Properties->Build Path->Source修改对应的Output folder,对应关系如下

src/main/java:                target/classes
src/main/resources:      target/classes
src/test/java:                   target/classes
src/test/resources:         target/classes  

接下来选择Deployment Assembly,修改发布规则

Remove其中的WebContent


添加webapp目录,Add->Folder


添加Maven依赖项,将Build Path指向Maven Dependency(如果已经存在,就无需再添加了),Add->Java Build Path Entries

选择Maven Dependencies->Finish


完成后如下图,其中的Test两个目录也可以Remove


在这时候,我们需要将之前因为没有web.xml的问题处理掉,右键项目->Java EE Tools->Generate Deployment Descriptor Stub

此时,会在src/main/webapp中自动生成一个web.xml文件,OK,我们的一个基于Maven的WebApp就创建好了


最后,将需要导入的JAR包放入pom.xml中保存即可,Maven会自动为我们下载需要的JAR包

  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
  </dependencies>


posted on 2017-03-10 12:18  BinaryTom  阅读(89)  评论(0编辑  收藏  举报