【已解决】No grammar constraints (DTD or XML Schema) referenced in the document.引发的启动Tomcat报错异常

No grammar constraints (DTD or XML Schema) referenced in the document.引发的启动Tomcat报错异常

异常特征描述: 复制来的项目xml文件左上角可能有黄色感叹号,提示:
  No grammar constraints (DTD or XML Schema) referenced in the document.
译文:文档中没有引用语法约束(DTD或XML架构)。

网上解决办法(对我无效):
网上说在xml文件头部加上下面两行即可:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE xml>  

但是,依旧无法解决该问题引发的一系列报错,什么bean标签无法找到…等等问题还是有。

我的解决办法(完美解决):
拷贝xml上我们手动码的内容,不包括约束头和上面网友说的那两行,删除该xml文件,重新建一个同名xml,然后手动导入需要的约束头,再粘贴之前拷贝的重要内容,保存即可解决,Tomcat可以正常启动,也不报异常了,xml文件头部也无黄色感叹号警告了。

后记:
不清楚为什么会引发这些报错,eclipse有毛病,明明文件内容齐全,可能是eclipse莫名丢失了各文件中的联系,没正确加载完毕吧。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果在 STS 中出现 `<bean>` 标签显示 `no grammar constraints (DTD or XML Schema)` 的问题,可能是因为 STS 默认使用的是 Eclipse 自带的 XML 验证器,而该验证器不支持最新的 Spring XML Schema。您可以尝试使用 Spring Framework 提供的 XML 验证器来解决这个问题。 具体步骤如下: 1. 在 `applicationContext.xml` 文件的根元素中添加以下属性: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" ``` 其中,`xmlns:xsi` 属性定义了 XML Schema 实例的命名空间,`xsi:schemaLocation` 属性指定了 Spring Beans Schema 的位置。 2. 在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> ``` 其中,`${spring.version}` 是 Spring Framework 的版本号,可以根据您实际使用的版本进行调整。 3. 在 `applicationContext.xml` 文件的根元素中添加以下属性: ```xml xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" ``` 这样就可以使用 Spring Framework 提供的 XML 验证器来验证 `applicationContext.xml` 文件了。如果您的配置文件中包含其他的 Spring Schema,可以根据需要添加对应的命名空间和验证器。 如果您仍然遇到问题,可以尝试升级 STS 到最新版本,或者在 STS 的偏好设置中将 XML 验证器设置为 Spring XML 验证器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值