`

懒惰与粗心带来的问题两个

阅读更多

上午有同事在Eclipse下的tomcat始终启动不了,让我帮忙看看。

大概错误是这样的:


Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar.........


名为xwork 的ObjectFactory 已经被其他jar加载,而且已经创建了。

1、检查tomcat的lib和工程编译之后的lib,都没发现问题。

2、检查是否自己封装的框架与struts的配置重复创建了ObjectFactory,量很大,但是仍然没有发现。

3、某自己基于eclipse封装的开发工具动了tomcat的context.xml配置,此文件中引用了struts相关的jar。问题出在这里。

原因有三个:

1、一开始就查看了该配置文件,但由于我过于粗心,快速的查看结果忽略了此处配置。

2、异常堆栈比较长,我只看了最开头和最末尾,也就是最终的causedby,而堆栈中间部分已经提示了加载ObjectFactory的jar 的位置,也被我忽略了。

3、该同事创建工程的时候偷懒,直接将原先工程中的context.xml复制过来,导致了这个问题。






spring mvc,controller中的方法执行完成之后总是不能进入指定的视图,而是停留在之前视图中。

经过一番比较,最后发现同事的方法复制于另一处,该方法带有@ModelAttribute和@RequestMapping。

这就导致该方法对应的视图由@RequestMapping对应的url处理,所以没有跳转到目标视图。去掉该@ModelAttribute,搞定了。

原因有二:

1、基础不扎实,依旧停留在老的配置中,不熟悉annotation,不了解@ModelAttribute。

2、粗心和懒。直接复制了不适合的方法过来。


解决完两个问题,查了一下参考文档,关于@ModelAttribute的解释不是很详细,该文解释了各种情况:http://blog.csdn.net/li_xiao_ming/article/details/8349115


这世上总有一些人会把一件事做得极致。可惜自己做得不够!

4
5
分享到:
评论
4 楼 superscorpio 2013-04-16  
freezingsky 写道
这种情况 很正常。多出现几次,就会记住了。



可能有些人工作习惯不好,今天这个犯错明天那个犯错。
3 楼 superscorpio 2013-04-16  
kjj 写道
粗心和懒惰,吃上几次大亏,就学乖了!!


是的
2 楼 freezingsky 2013-04-15  
这种情况 很正常。多出现几次,就会记住了。
1 楼 kjj 2013-04-15  
粗心和懒惰,吃上几次大亏,就学乖了!!

相关推荐

Global site tag (gtag.js) - Google Analytics