Java Web常见bug (1)

本文详细解析了在使用Eclipse创建Web项目时遇到的DynamicWebModule版本不匹配问题,阐述了问题根源在于默认版本与项目需求版本的不一致,并提供了具体的修改web.xml和项目配置文件的方法来解决该问题。

1. Bug描述

  1. Cannot change version of project facet Dynamic Web Module to 3.0.
  2. One or more constraints have not been satisfied.
    如图

2. 原因

这个问题一般出现在使用eclipse新建web项目的时候, 原因在于: Dynamic Web Module版本问题
具体来说, eclipse在建立项目的时候默认的版本是2.3等老版本, 但web项目一般默认要求的版本是3.1, 两者不一致导致了这个ERROR.

3. 解决

  1. 原因弄清楚的情况下, 解决思路: 修改版本要求.
  2. web项目版本位置: web.xml文件web-app label(如下图, 如果不写命名空间, 默认是3.1版本, 下图使用了3.0版本)
    在这里插入图片描述
<web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
		 xmlns= "http://java.sun.com/xml/ns/javaee"
		 xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
		 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
		 id= "WebApp_ID" version ="3.0">
</web-app>
  1. eclipse版本位置: 项目文件夹/.settings/org.eclipse.wst.common.project.facet.core.xml
    在这里插入图片描述
<installed facet="jst.web" version="3.0"/>
  1. 有些童鞋可能会考虑在eclipse的preference里面修改, 但个人经验是Dynamic Web Module版本在ui处是不让修改的.修改前记得close project, 修改后也记得update一下项目.
    以上
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值