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

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

 

首先创建一个Maven的Project如下图 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
我们勾选上Create a simple project (不使用骨架) 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
这里的Packing 选择 war的形式 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
由于packing是war包,那么下面也就多出了webapp的目录 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录

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

在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form… 如下图: 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
然后勾选Dynamic Web Module 并点击ok 如下图:(3.0只有tomcat7才支持, 在部分IDE下面可以继续切换版本,比如更换到3.1标准的servlet) 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录

接下来观察我们的项目结构,多了一个web content目录 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录

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

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

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

然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
接着重新指定一个web的路径,点击add,选择Folder – 〉 next 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
在src下找到webapp目录,然后finish 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录 
最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录

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

完成后如下图: 
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录

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

 
  1. 看这种博文我觉得浪费了我很多时间。。搞得我总是想在上图所示的前面加一个/

  2. 其实并不是像网上大部分流传的博客那样前面会有/

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

  • 1
  • 2
  • 3
  • 4
  • 5

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

 
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  3. <modelVersion>4.0.0</modelVersion>

  4.  
  5. <groupId>com.seckill</groupId>

  6. <artifactId>seckill</artifactId>

  7. <version>0.0.1-SNAPSHOT</version>

  8.  
  9. <name>seckill</name>

  10. <url>http://maven.apache.org</url>

  11.  
  12. <properties>

  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  14. </properties>

  15.  
  16. <dependencies>

  17. <dependency>

  18. <groupId>junit</groupId>

  19. <artifactId>junit</artifactId>

  20. <version>4.11</version>

  21. <scope>test</scope>

  22. </dependency>

  23.  
  24.  
  25. <!-- 补全项目依赖 -->

  26. <!-- 日志 -->

  27. <dependency>

  28. <groupId>org.slf4j</groupId>

  29. <artifactId>slf4j-api</artifactId>

  30. <version>1.7.12</version>

  31. </dependency>

  32. <dependency>

  33. <groupId>ch.qos.logback</groupId>

  34. <artifactId>logback-core</artifactId>

  35. <version>1.1.1</version>

  36. </dependency>

  37. <dependency>

  38. <groupId>ch.qos.logback</groupId>

  39. <artifactId>logback-classic</artifactId>

  40. <version>1.1.1</version>

  41. </dependency>

  42.  
  43. <!-- 数据库相关依赖 -->

  44. <dependency>

  45. <groupId>mysql</groupId>

  46. <artifactId>mysql-connector-java</artifactId>

  47. <version>5.1.35</version>

  48. <scope>runtime</scope>

  49. </dependency>

  50. <dependency>

  51. <groupId>c3p0</groupId>

  52. <artifactId>c3p0</artifactId>

  53. <version>0.9.1.2</version>

  54. </dependency>

  55.  
  56. <!-- DAO框架依赖 -->

  57. <dependency>

  58. <groupId>org.mybatis</groupId>

  59. <artifactId>mybatis</artifactId>

  60. <version>3.3.0</version>

  61. </dependency>

  62. <dependency>

  63. <groupId>org.mybatis</groupId>

  64. <artifactId>mybatis-spring</artifactId>

  65. <version>1.2.3</version>

  66. </dependency>

  67.  
  68. <!-- servlet web相关依赖 -->

  69. <dependency>

  70. <groupId>taglibs</groupId>

  71. <artifactId>standard</artifactId>

  72. <version>1.1.2</version>

  73. </dependency>

  74. <dependency>

  75. <groupId>jstl</groupId>

  76. <artifactId>jstl</artifactId>

  77. <version>1.2</version>

  78. </dependency>

  79. <dependency>

  80. <groupId>com.fasterxml.jackson.core</groupId>

  81. <artifactId>jackson-databind</artifactId>

  82. <version>2.5.4</version>

  83. </dependency>

  84. <dependency>

  85. <groupId>javax.servlet</groupId>

  86. <artifactId>javax.servlet-api</artifactId>

  87. <version>3.1.0</version>

  88. </dependency>

  89.  
  90. <!-- spring依赖 -->

  91. <dependency>

  92. <groupId>org.springframework</groupId>

  93. <artifactId>spring-core</artifactId>

  94. <version>4.1.7.RELEASE</version>

  95. </dependency>

  96. <dependency>

  97. <groupId>org.springframework</groupId>

  98. <artifactId>spring-beans</artifactId>

  99. <version>4.1.7.RELEASE</version>

  100. </dependency>

  101. <dependency>

  102. <groupId>org.springframework</groupId>

  103. <artifactId>spring-context</artifactId>

  104. <version>4.1.7.RELEASE</version>

  105. </dependency>

  106.  
  107. <dependency>

  108. <groupId>org.springframework</groupId>

  109. <artifactId>spring-jdbc</artifactId>

  110. <version>4.1.7.RELEASE</version>

  111. </dependency>

  112. <dependency>

  113. <groupId>org.springframework</groupId>

  114. <artifactId>spring-tx</artifactId>

  115. <version>4.1.7.RELEASE</version>

  116. </dependency>

  117.  
  118. <dependency>

  119. <groupId>org.springframework</groupId>

  120. <artifactId>spring-web</artifactId>

  121. <version>4.1.7.RELEASE</version>

  122. </dependency>

  123. <dependency>

  124. <groupId>org.springframework</groupId>

  125. <artifactId>spring-webmvc</artifactId>

  126. <version>4.1.7.RELEASE</version>

  127. </dependency>

  128.  
  129. <dependency>

  130. <groupId>org.springframework</groupId>

  131. <artifactId>spring-test</artifactId>

  132. <version>4.1.7.RELEASE</version>

  133. </dependency>

  134. </dependencies>

  135. </project>

  1.  
  2.  

转载地址:http://blog.****.net/u011669700/article/details/53558257