用Maven创建第一个WEB项目

时间:2021-09-20 13:36:17

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

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目

接下来,我们要对项目的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  
用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

Remove其中的WebContent

用Maven创建第一个WEB项目

添加webapp目录,Add->Folder

用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

选择Maven Dependencies->Finish

用Maven创建第一个WEB项目用Maven创建第一个WEB项目用Maven创建第一个WEB项目

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

用Maven创建第一个WEB项目

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

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

用Maven创建第一个WEB项目用Maven创建第一个WEB项目

最后,将需要导入的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>