菜鸟调错(四)——Spring与DWR集成,配置文件报错
背景简介:
该项目是市信用办的一个系统,之前好像是一个石家庄的公司负责的。我属于是半路接手。拿到源码后,根据他们给的简(shao)单(de)明(ke)了(lian)的说明把项目搭起来。结果可想而知,项目文件一片红。于是就开始解决这些错误,好在很多错误都是类似的。经过一番捣鼓,大部分的错误都解决了,有一个Spring跟DWR集成配置的错误,错误信息如下:
Multiple annotations found at this line:
- schema_reference.4: Failed to read schema document 'http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd', because 1) could not find the document;
2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
- cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dwr:remote'.
解决过程:
遇到以前没见过的错误,第一步肯定就是去网上找解决方案了。于是百度、谷歌双管齐下,倒是找到了不少类似错误的解决方案,逐个试过貌似在我这里都不起作用了。
无奈之下我想起了我们在刚刚做完的项目中,用到了DWR,于是我就找到了当时负责DWR这一块的小伙伴,向他寻求帮助。给他看过具体问题之后,他说我们当时不是用的这种方式,而是用的另一种,他推荐我去官网找找看。接着我就来到了DWR的官网,找到与Spring集成的部分,然后又找到'dwr:remote'标签,最后也没发现有什么特殊的地方。后来因为时间比较晚了,而且在这个问题上花费了很长时间,自己有点烦了,就决定先不理它了,等明天再弄。
第二天上午,学完英语之后我坐在电脑前,看着错误提示,心里想:网上找到的解决方案都没有帮我解决这个问题,很可能是我跟他们的错误表现类似,但造成这种表现的原因不一样呢?于是我看是认真的阅读那几行错误提示。后来发现可能是找不到对应的schema文件。虽然IDE会先去jar包里找,如果找不到还会根据你的配置去网上找。但是也可能由于哪出了问题,导致这两条路都走不通了。于是我想,既然这样的话,那我何不自己手动给你添加一个本地的schema文件呢?
说时迟那时快,想到这里,我以迅雷不及掩耳之势下载了一个schema文件,并手动添加到IDE中。bingo!错误提示消失了,问题解决了。喜出望外、喜大普奔呀!
手动添加schema文件,方法如下:
1,依次选择:windwos->preferences->myeclipse->files and editors->xml->xmlcatalog
2,点"add",在出现的窗口中,在location中选"File system",然后选择你下载的spring-beans-2.0.xsd,文件
3,回到设置窗口的时候不要急着关闭窗口,应把窗口中的Key Type改为Schema location,
4,Key 改为http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
总结:
网络的力量很强大,周围人的帮助也很重要,不过很多时候还是要靠自己。当一个问题困扰你很长时间的时候,不妨先停下你的脚步,转身换个方向走,换个角度思考。很多时候换个角度想问题,会有完全不一样的结果。
当我们遇到问题的时候不放按照下面的方式去解决:
while (遇到问题) {
if (以前遇到过) {
根据自己的记忆或者以前的笔记解决问题;
}else if (没遇到过) {
上网找解决方案;
}else if (网上找不到 or 网上的方法无法解决) {
求助身边的人;
}else if (身边的人也无法解决) {
停下来,跳出之前的思路;
认真分析错误信息;
换个角度思考;
}
通常情况下,以上步骤就可以解决你的问题了。如果经历了以上步骤还是不能解决你的问题,那么恭喜你,你很可能遇到了一个非常难的难题。这个时候就是你进步的时候。你可能需要将问题反应给你的项目经理,从而集合更多的人去解决它。
以上就是我的一点小小的感受,希望能对大家有点帮助。
菜鸟调错(四)——Spring与DWR集成,配置文件报错的更多相关文章
- Eclipse 中 Spring 项目的 XML 配置文件报错 Referenced file contains errors
原来运行正常的项目,突然在applicationContext.xml 文件头报错 总结一下网上的解决方案: 1.有可能网络状况不好导致 如果使用Maven构建项目,spring在加载xsd文件时总是 ...
- Ambari集成Kerberos报错汇总
Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...
- Eclipse集成Tomcat报错:java.lang.OutOfMemoryError: PermGen space
Eclipse集成Tomcat报错,使用Spring 4.3 框架,运行一段应用后,控制台报错: Unexpected death of background thread ContainerBack ...
- SpringBoot集成MybatisPlus报错
SpringBoot集成MybatisPlus报错 启动的时候总是报如下错误: java.lang.annotation.AnnotationFormatError: Invalid default: ...
- eclipes的Spring注解SequenceGenerator(name="sequenceGenerator")报错的解决方式
eclipes的Spring注解SequenceGenerator(name="sequenceGenerator")报错的解决方式 右键项目打开Properties—>JA ...
- 使用CXF+Spring发布WebService,启动报错
使用CXF+Spring发布WebService,启动报错,日志如下: 五月 12, 2017 9:01:37 下午 org.apache.tomcat.util.digester.SetProper ...
- 【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface
后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate ...
- spring boot启动STS 运行报错 java.lang.NoClassDefFoundError: ch/qos/logback/classic/LoggerContext
spring boot启动STS 运行报错 java.lang.NoClassDefFoundError: ch/qos/logback/classic/LoggerContext 学习了: http ...
- 【转载】配置文件报错:不允许有匹配 [xX][mM][lL] 的处理指令目标
今天编写代码的时候,不小心给一个xml文件的首行加了一行空格,导致了启动报了如题类似的错误,查到一篇文章,顺藤摸瓜发现了这个失误,文章转载如下: 框架整合 的时候,XML 配置文件大多数情况是从另一个 ...
随机推荐
- Swoole源代码学习记录(十三)——Server模块具体解释(上)
Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server. ...
- HOOK 底层键盘消息---WH_KEYBOARD_LL
代码:屏蔽三个全局快捷键 代码的作用是屏蔽掉凝视中的三个快捷键. LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LP ...
- MySQL-join的实现原理、优化及NLJ算法
案例分析: select c.* from hotel_info_original c left join hotel_info_collection h on c.hotel_type=h.hote ...
- ajax请求格式
ajax请求格式........... var rowsData = $('#receiptPrintList').datagrid('getSelections'); $.ajax({ type: ...
- java struts2入门学习---自定义类型转换
自定义类型转换器的作用就是将struts无法识别的类型转换成自己所需要的. 比如输入:广东-东莞-虎门,对应的输出时能输出:广东省 东莞市 虎门(镇/区) 这里涉及到的知识点即是将String转换为任 ...
- maven groupID 和 ArtifactID的区别与作用
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构. ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称.一般Gro ...
- mysql/mariadb基于ssl的主从复制
当mysql/mariadb跨越互联网进行复制时别人可以窃取到mysql/mariadb的复制信息, 这些信息是明文的, 因此存在不安全性, 这里通过ssl对复制的信息进行加密 1. 创建证书中心 在 ...
- opencv 摄像头 线程
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h> ...
- 如果没有 Android 世界会是什么样子?
2005年谷歌从安迪·鲁宾(Andy Rubin)手中收购Android系统,起初安迪·鲁宾(Andy Rubin)只是想为数码相机开发出一个更为先进的系统,所以有了 Android.但是智能手机行业 ...
- Andoird通信之简单聊天ChatApp
Android通信,大体上的逻辑是跟Java上的通信是差不多的,只是因为Android线程不能直接访问UI界面组件,所以在处理的时候有些麻烦,只要是通过Handle处理. 接下来是一个简单地手机聊天A ...