<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
现在是越来越太原讨厌Eclipse这个IDE了,他的存在的各种问题完全可以出10w字的一本书了。当然,如果你喜欢在解决IDE问题过程中提升技能那就不要说了,我认为,Eclipse的设计存在一个问题:它恨不得把世界上所有的功能都囊括进来,但是出现的各种问题基本无法在IDE里自动消化。
Eclipse虽是个强大的IDE,但是在解决IDE本身出现的不友好的故障过程中浪费大量的时间是非常不划算的。由于这个原因,导致众多Eclipse的重度用户,在博客里开专栏收集各种Eclipse的问题,
举例来说明,在使用EclipseEE这个版本中安装Maven插件开发Java Web应用时,发布项目到Tomcat中无法启动,应为它并没有把Maven所管理的依赖自动添加到应用的ClassPath中,导致启动时报各种ClassNotFoundException。这一点,我已经花掉了差不多半天的时间来查明原因(这就是我写这篇文章的冲动所在),这个让我非常沮丧的经历再次让我对这个IDE失去信心。大部分初级工程师对IDE的依赖太过强烈,所以有必要分享一下给大家个提示,Eclipse本来只是个工具,不得不说在某些时候,这个IDE确实提高了不少效率,但是由于依赖的习惯,已经离不开Eclipse的人可能要在解决上述说的各种IDE不能消化的问题而话费大量的时间,难道只是为了使用这个“工具”而使用工具?却忘记了使用工具为了什么!
正题
以上是开篇感慨,目的是提示大家,不要被“神奇的Eclipse"工具所绑架。
下面揭示前文提到的:Eclipse中发布Maven管理的Web项目时找不到类的问题。
ClassNotFoundException: org.springframework.web.context.ContextLoader
这个报错是没有人希望看到的,既然看到了,没有办法回避,只能解决它(我们被Eclipse绑架了)。
原因是这样的:使用eclipse没有帮你把jar拷贝到lib下,classloader在load的时候当然是找不到的。在它帮你发布的web应用的lib下你可以看到如下:
进一步原因:发布设置里默认不发布这些jar,居然没有任何提示,这能算是智能的IDE吗?
在maven管理的web工程上查看属性,具体见上图,看到了吧,它根本没有关注maven原来是它的一个插件。jar全部忽略了
解决办法
接上图,看下图,你就懂了。使用“add...”把,没法子呀,它不管你,你只能自力更生了。
接着
哦,看见了吧,maven管理的classPath在这里,再走。
到此,你的classpath有了maven管理的jar了。点击“Ok”,再重新发布项目看看。那些Not Found可以消失了吧!
总之
举例说明了Eclipse的IDE内部问题是烦人且浪费时间的,从这一点说,我们一直在解决IDE抛给我们的问题,而无法专注解决我们当初使用它为了解决的问题。我们被它给绑架了。有人会说,你牛逼就不要用嘛。,我要是牛逼当然不会用他啦。
编程的本质上是把自己的思路用用代码来描述一下。却不得不被各种IDE干扰,在你牛逼之前,也是没有办法的。
当然了,世界上没有完美的IDE,只有完美的思考方式。当到一定程度,我们完全可以脱离任何IDE写出优秀的应用来。到那个时候,就是所谓牛逼的起码境界。前面的路都是用生命、血和汗来铺,这里只是希望人们少流些血和汗,早一天牛逼起来。
相关推荐
在这个"404的ssm项目"中,我们遇到的问题是在尝试通过`login.sp`访问controller时遇到了404错误。这通常意味着服务器无法找到请求的资源,可能是由于多种原因造成的。 首先,我们需要检查项目配置,确保所有组件都...
标题 "java.lang.NoClassDefFoundError: javax/persistence/EntityListener" 提到的问题是一个常见的Java运行时异常,通常表示在类加载时找不到指定的类定义。这个错误在Java应用程序或Web应用中出现,可能是因为...
总之,处理MyEclipse导出WAR文件时遇到的错误需要耐心和细致,通过对项目依赖、配置、插件和日志的检查,通常能够找到问题的根源并解决。如果替换JAR文件仍然无法解决问题,那么可能需要进一步调查和调试,或者考虑...
- `ServletException`:与Servlet相关的错误,如初始化失败、找不到Servlet类等。 2. **日志分析**: - Tomcat的异常信息通常记录在`catalina.out`或`logs`目录下的其他日志文件中。分析这些日志可以找出异常的...
在开发基于Spring MVC的Web应用程序时,我们可能会遇到各种问题,尤其是在更新了Maven项目之后。标题中的“更新Maven项目后,在Tomcat上收到以下错误消息”表明开发者可能遇到了与依赖更新、构建过程或部署配置相关...
在软件开发和运维过程中,我们经常遇到依赖库的问题,特别是在使用开源项目时。本文将深入探讨“ngrinder-controller缺失的jar包”这一问题,旨在帮助用户理解这个问题的根源,并提供有效的解决方法。 ngrinder是一...
在IT行业中,开发人员经常需要将Java Web项目打包成WAR(Web ARchive)文件,以便部署到Web服务器上运行。"myeclipse10 导出war崩溃"这个问题是许多开发者在使用MyEclipse集成开发环境时可能遇到的一个常见问题。...
【Java培训(一)PPT课件概览】 本次Java培训涵盖了从基础知识到高级主题的广泛内容,旨在帮助初学者和有一定经验的...此外,还会接触到实际项目中的问题解决和部署策略,为成为一个专业的Java开发者奠定坚实的基础。
但如果类加载设置不当,可能会导致类找不到的问题。 5. **验证JAR依赖**:如果Servlet依赖于其他的JAR库,确保这些库已包含在`WEB-INF/lib`目录下,并且版本兼容。 总结,解决“Wrapper cannot find servlet class...
通过这些方法,大多数情况下都可以成功解决问题,让开发者能够顺利进行Debug工作。在此过程中,不断学习和理解Eclipse和Tomcat的工作原理也至关重要,这对于优化开发流程和提高效率有着积极的作用。
如果上述步骤依然无法解决问题,建议重启Jetty服务器或者Eclipse开发环境,以确保所有更改都被正确加载和生效。 总结来说,Jetty运行时无法保存文件通常是由于配置不当引起的。通过调整"webdefault.xml"文件中的...
这种复杂性导致调试和测试变得更加困难,特别是在遇到性能瓶颈时,定位问题根源变得非常耗时。 ##### 2. 配置文件过多 随着SSH的流行,Java开发中XML配置文件的使用变得越来越普遍。虽然XML是一种很好的配置手段,...