Eclipse创建Maven结构的web项目的时候选择Artifact Id为maven-artchetype-webapp,点击finish之后,一般会遇到如下问题

1. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 错误,

这是eclipse环境里没有SeverRuntime导致的,在BuildPath里加入即可,如下图:

添加前:

选择 add library

选择 Apache Tomcat V7.0 并点击 next

点击finish之后,完成添加如下图

2. 如何Maven创建动态Web项目后产生的版本不匹配的问题

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的、java版本是1.5的,而一般现在至少都是3.0/1.7,因此我们需要逐个修改!

(1) 修改JRE 版本

Go to project Build Path and change the Java Library version to 1.7

删除原先的低版本JRE,并添加workplace默认的版本(JDK1.7),完成后如下:

(2) Eclipse Preferences -> Java -> Compilre -> Change compliance level to 1.7

(3) 修改 Project Facets 版本(注意顺序)

在项目上单机右键 -> Properties -> Project Facets  -->取消选中 Dynamic Web Module 状态,点击 Apply -->将 Javafacet 版本变为 1.7 ,点击 Apply如下图

-->将 Dyanmic Web Module 版本更改为3.0, 点击 Apply.

此时会有较大几率提示: web.xml is missing and <failOnMissingWebXml> is set to true,如下图

解决办法,在项目上单击右键-->java EE Tools ---> Generate Deployment Descriptro Stub

OK 问题解决

3. 解决发布之后404错误

默认情况下因为默认的deployment assembly中 webapp路径的问题,如下图可以看到默认的webapp下的页面都被发布到WEB-INF/class下了,

导致出现了如下图的目录结构,所以所有的jsp都无法访问以及通过web.xml加载的ssm环境无法初始化!

修改webapp对应的发布路径为/之后,部署的目录结构变为:

可以看到jsp还有web.xml、spring的配置文件都出现在根目录了! 问题解决!

eclipse 创建Maven 架构的dynamic web project 问题解决汇总的更多相关文章

  1. Eclipse创建第一个Servlet(Dynamic Web Project方式)、第一个Web Fragment Project(web容器向jar中寻找class文件)

    创建第一个Servlet(Dynamic Web Project方式) 注意:无论是以注解的方式还是xml的方式配置一个servlet,servlet的url-pattern一定要以一个"/ ...

  2. Eclipse 将Java项目转为Dynamic web project

    1.打开项目根目次下的.project 在<buildSpec>节点下是否存在 <buildCommand> <name>org.eclipse.wst.commo ...

  3. eclipse 使用tomcat7.0建立Dynamic Web Project 时 web.xml的问题

    最近使用Eclipse helios版本结合tomcat7.0建立动态的web项目时,发现在WEB-INF下的web.xml没有了. 解决方案: 建立web项目时,建到第三个下一步时,将 Genera ...

  4. Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat

    最近拿到了一个 Dynamic Web Project,我的 Mac 上的 Eclipse 之前没有过这类型的项目,所以导入之后无法正常运行.下面是我记录的如何配置 Eclipse 使之能够运行 Dy ...

  5. java中dynamic web project与web project 的区别 [转]

    原帖地址:http://blog.sina.com.cn/s/blog_46726d2401013jlk.html 文章框架: 1.Dynamic  Web Project 概念 2.eclipse ...

  6. Dynamic Web Project 的学习笔记

    文章框架: 1.Dynamic  Web Project 概念 2.eclipse 中的动态Web 项目与 Myeclipse 中的web项目有何区别 3.动态的运行原理及目录结构---是否都涉及到由 ...

  7. Eclipse 使用maven创建Dynamic Web Project

    今天看到spring的官网首页已经没有下载连接了,建议使用maven构建spring项目.虽然maven已经不是新技术,但是这个我还没用过,谷歌走起! 通常创建项目都是用Eclipse,前几年还是My ...

  8. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  9. eclipse创建Maven Web项目以及无法修改Project Facets

    1.在eclipse中创建maven项目,在菜单栏的:File-->New-->other中,搜索maven则会出现Maven Project; 2.点击next继续; 3.点击next继 ...

随机推荐

  1. SCD Type2 in ODI

    缓慢变化维(Slowly changing Dimensions)指的是维表中的维度字段值会随着时间或业务调整,而在后续的分析中,历史数据仍然要使用旧的维度值,新的数据会使用当前维度值.在数据仓库建设 ...

  2. MySQL 加锁处理分析 ---非常牛逼

    http://hedengcheng.com/?p=771 mysql lock in share mode 和 select for update 2016年09月28日 10:23:32 阅读数: ...

  3. ROS中发布IMU传感器消息

    下面使用SYD Dynamics的9轴AHRS(Attitude and heading reference system),来发布sensor_msgs/Imu类型的消息. 将传感器用USB转串口接 ...

  4. 用FireBreath来编写跨浏览器插件

    这是对于公司某个需求的临时研究,最后经过简单实验放弃了这个方案,因为编写插件不能满足需求. 下面着重讲一下FireBreath编译. 首先根据文档,用git clone下载Firebreath源码(不 ...

  5. iOS手势的综合运用

    //自定义一个VIEW封装手势功能 // CustormView.m // gesterDemoo // // Created by ganchaobo on 13-7-13. // Copyrigh ...

  6. ubuntu下安装迅雷thunder

    迅雷是windows xp下必装的下载工具,作为一款跨协议的下载软件,迅雷的下载速度极其强悍. 那么在ubuntu下能否安装迅雷呢? 到ubuntu中文论坛逛了一圈,发现有现成的wine-thunde ...

  7. ajax, jQuery, jQueryeasyUI

    1.ajax与jQueryajax是jquery库里面的一个被封装好的函数,可以拿来直接使用.没有jquery的话,ajax的使用就得用原生的javascript去写,比较麻烦. 2.jQuery E ...

  8. ios实例开发精品文章推荐(8.19)

    1.iOS源码:选择器类--简单的效果.<ignore_js_op> 下载地址:http://www.apkbus.com/android-109320-1-1.html 2.iOS源码: ...

  9. 关于JAVA路径 问题

    1.基本概念的理解  绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://w ...

  10. 指尖下的js ——多触式web前端开发之二:处理简单手势(转)

    这篇文章将描述多触式网页开发中对手势(Gesture)事件的处理.     水果设备中的Gesture,广义的说包括手指点击(click),轻拂(flick),双击(double-click),两只手 ...