eclipse创建的项目中webapp下没有webINF?

利用Eclipse创建maven项目并生成META-INF和WEB-INF目录


1、使用eclipse插件创建一个web project

首先创建一个Maven的Project如下图 
eclipse创建的项目中webapp下没有webINF?_第1张图片 
我们勾选上Create a simple project (不使用骨架) 
eclipse创建的项目中webapp下没有webINF?_第2张图片 
这里的Packing 选择 war的形式 
eclipse创建的项目中webapp下没有webINF?_第3张图片 
由于packing是war包,那么下面也就多出了webapp的目录 
eclipse创建的项目中webapp下没有webINF?_第4张图片

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

在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form… 如下图: 
eclipse创建的项目中webapp下没有webINF?_第5张图片 
然后勾选Dynamic Web Module 并点击ok 如下图:(3.0只有tomcat7才支持, 在部分IDE下面可以继续切换版本,比如更换到3.1标准的servlet) 
eclipse创建的项目中webapp下没有webINF?_第6张图片

接下来观察我们的项目结构,多了一个web content目录 
eclipse创建的项目中webapp下没有webINF?_第7张图片

注: 
1)如果在结构转换的时候没有出现Dynamic Web Module选项,可以参考我的上一篇博文。 
2)如果没有自动生成以上的文件夹,手动创建的效果是一样的,无需担心。

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

把上图WebContent下面两个目录 META-INF ,WEB-INF 直接剪切到src/main/webapp目录下,并删掉WebContent目录,那么现在的项目结构如下图: 
eclipse创建的项目中webapp下没有webINF?_第8张图片

然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly 
eclipse创建的项目中webapp下没有webINF?_第9张图片 
选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove 
eclipse创建的项目中webapp下没有webINF?_第10张图片 
接着重新指定一个web的路径,点击add,选择Folder – 〉 next 
eclipse创建的项目中webapp下没有webINF?_第11张图片 
在src下找到webapp目录,然后finish 
eclipse创建的项目中webapp下没有webINF?_第12张图片 
最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next 
eclipse创建的项目中webapp下没有webINF?_第13张图片

注:只有maven项目添加完Dynamic Web Module之后才能找到Maven Dependency选项。如果没有找到该选项,说明你创建的Maven项目尚未转化成web项目。

完成后如下图: 
eclipse创建的项目中webapp下没有webINF?_第14张图片

注: 
网上流传的大部分博文中出现的路径都是如同下文所示的 
/src/main/webapp / 
/src/main/java /WEB-INF/classes 
/src/main/resources /WEB-INF/classes 
Maven Dependencies /WEB-INF/lib

看这种博文我觉得浪费了我很多时间。。搞得我总是想在上图所示的前面加一个/
其实并不是像网上大部分流传的博客那样前面会有/

/src/main/webapp    /   这一句话已经为我们的WEB项目提供了根路径,其他的路径都是基于根路径的相对路径。所以无需前面再加 /
  • 1
  • 2
  • 3
  • 4
  • 5

最后附上maven jar包依赖。参考慕课网的 秒杀系统

<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.0modelVersion>

  <groupId>com.seckillgroupId>
  <artifactId>seckillartifactId>
  <version>0.0.1-SNAPSHOTversion>

  <name>seckillname>
  <url>http://maven.apache.orgurl>

  <properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
  properties>

  <dependencies>
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.11version>
      <scope>testscope>
    dependency>


    
    
    <dependency>
      <groupId>org.slf4jgroupId>
      <artifactId>slf4j-apiartifactId>
      <version>1.7.12version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-coreartifactId>
      <version>1.1.1version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-classicartifactId>
      <version>1.1.1version>
    dependency>

    
    <dependency>
      <groupId>mysqlgroupId>
      <artifactId>mysql-connector-javaartifactId>
      <version>5.1.35version>
      <scope>runtimescope>
    dependency>
    <dependency>
      <groupId>c3p0groupId>
      <artifactId>c3p0artifactId>
      <version>0.9.1.2version>
    dependency>

     
     <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatisartifactId>
      <version>3.3.0version>
    dependency>
    <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatis-springartifactId>
      <version>1.2.3version>
    dependency>

    
    <dependency>
      <groupId>taglibsgroupId>
      <artifactId>standardartifactId>
      <version>1.1.2version>
    dependency>
    <dependency>
      <groupId>jstlgroupId>
      <artifactId>jstlartifactId>
      <version>1.2version>
    dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.coregroupId>
      <artifactId>jackson-databindartifactId>
      <version>2.5.4version>
    dependency>
    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>javax.servlet-apiartifactId>
      <version>3.1.0version>
    dependency>

    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-coreartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-beansartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-contextartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-jdbcartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-txartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webmvcartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-testartifactId>
      <version>4.1.7.RELEASEversion>
    dependency>
  dependencies>
project>
转载地址:http://blog.csdn.net/u011669700/article/details/53558257

你可能感兴趣的:(转载文章)