maven创建web项目详解

来源:互联网 发布:logo设计软件手机版 编辑:程序博客网 时间:2024/06/07 08:12

使用eclipse插件创建一个web project

首先创建一个Maven的Project如下图

 

 

我们勾选上Create a simple project (不使用骨架)

 

 

 

这里的Packing 选择 war的形式

 

 

由于packing是war包,那么下面也就多出了webapp的目录

 

由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project

 

在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form…   如下图:

 由于我使用的是4.5版本,所以这里点击进去是这样子的


 

 

 

然后勾选Dynamic Web Module 并点击ok  如下图:(3.0只有tomcat7才支持)

 

 

 

接下来观察我们的项目结构,多了一个web content目录

 

 ps:这里遇到一个问题就是点击3.0后没有生成webcontent目录,办法就是取消掉

Dynamic Web Module

然后确定后再点击选中就可以生成了,maye是个bug。

虽然此时我们可以发布到tomcat中,但这不符合maven的结构,我们还要做如下修改

把上图WebContent下面两个目录 META-INF ,WEB-INF 直接剪切到src/main/webapp目录下,并删掉WebContent目录,那么现在的项目结构如下图:

 

 

 

然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly

 

 

选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove

 

 

 

接着重新指定一个web的路径,点击add,选择Folder -- 〉  next

 

 

 

在src下找到webapp目录,然后finish

 

 

 

最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next

 

 

 

 

然后再点击finish完成

 

 

 

完成后如下图:

 

 

 

至此一个基于maven的webapp就建立好了,并可以直接从eclipse中发布到tomcat中

 

补充:我们需要在src/main/webapp/WEB-INF下面创建一个web.xml

 

 

导入我们的Spring mvc依赖jar包

<dependencies>

 

    <dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-core</artifactId>

        <version>3.0.7.RELEASE</version>

    </dependency>

  

    <dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-web</artifactId>

        <version>3.0.7.RELEASE</version>

    </dependency>

  

    <dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-webmvc</artifactId>

        <version>3.0.7.RELEASE</version>

    </dependency>

 

    <dependency>

        <groupId>org.codehaus.jackson</groupId>

        <artifactId>jackson-mapper-asl</artifactId>

        <version>1.7.1</version>

    </dependency>

  

  </dependencies>

 

直接保存,maven就会自动为我们下载所需jar文件


ps:这里新装会遇到很多很多问题,远远么有教程中那么顺利,我把我遇到的问题罗列一下

1:

org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER警告解决方法

修改.classpath文件

打开项目根路径的.classpath文件:

修改前

<attribute name="maven.pomderived" value="/WEB-INF/lib"/>

修改后

<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">    <attributes>        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>    </attributes></classpathentry>
2:update maven之后jre被改成1.5的问题

在项目的pom.xml文件中加入以下内容

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins></build>




然后重新update maven就可以解决该问题

3.还有一个是忘记了解决办法就是要在webapp下建一个web.xml

0 0