转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12

写在前面的话

现在是越来越太原讨厌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写出优秀的应用来。到那个时候,就是所谓牛逼的起码境界。前面的路都是用生命、血和汗来铺,这里只是希望人们少流些血和汗,早一天牛逼起来。

Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)的更多相关文章

  1. eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

    eclipse运行maven web项目报错: 信息: Starting Servlet Engine: Apache Tomcat/7.0.57 一月 07, 2015 11:50:44 下午 or ...

  2. Java归去来第4集:java实战之Eclipse中创建Maven类型的SSM项目

    一.前言 如果还不了解剧情,请返回第3集的剧情          Java归去来第3集:Eclipse中给动态模块升级 二.在Eclipse中创建Maven类型的SSM项目 2.1:SSM简介 SSM ...

  3. Spring-在IDEA2016中创建maven管理的SpringMVC项目

    这是一套我自己摸索出来的创建项目方法,基本是用在创建用maven管理的 Spring+SpringMVC+Mybatis的J2EE项目时. 创建一个maven管理的webapp项目 在创建项目时,选择 ...

  4. MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]

    前面的文章我们已经在本机安装好了maven,同时在myeclipse中配置好了maven的插件. 链接如下: Maven安装----在Windows上安装Maven myeclipse安装maven插 ...

  5. maven的java web项目启动找不到Spring ContextLoaderListener的解决办法

    用maven搭建的java web项目,上传到git仓库后,当同事clone下来项目,部署到tomcat运行时,就报了如下错误,即启动web项目时,加载web.xml文件,找不到spring的监听器, ...

  6. eclipse 中发布 maven 项目到 tomcat

    第一步:在 eclipse 中 右键  你的项目 Run as --> Maven build...--> Goals: 输入 install   run 第二步:在 eclipse 中 ...

  7. eclipse中使用Maven管理java工程设置jdk版本为jdk1.8

    使用Maven管理Java工程时,maven可以自动下载工程中依赖的jar包,这对于大型的项目非常方便.但在初次使用eclipse新建maven工程时遇到一些问题,我的jdk安装的是1.8版本,在配置 ...

  8. idea 中利用maven创建java web 项目

    转自:http://www.linuxidc.com/Linux/2014-04/99687.htm 本文主要使用图解介绍了使用IntelliJ IDEA 12创建Maven管理的Java Web项目 ...

  9. 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。

    今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...

随机推荐

  1. 2019-3-1-win10-uwp-使用-LayoutTransformer

    title author date CreateTime categories win10 uwp 使用 LayoutTransformer lindexi 2019-03-01 09:24:32 + ...

  2. python数字图像处理(一)图像的常见操作

    首先导入必要的库,使用Opencv读入图像,避免复杂的图像解析,同时使用Opencv作为算法的对比,由于使用环境为jupyter使用matplotlib直接可视化 import cv2 import ...

  3. vue.js 分页

    <template> <div class="index"> <el-pagination background :hide-on-single-pa ...

  4. Mybatis基于SqlSession实现CRUD

    之前我们讲的基于XML还是接口注解配置都是使用接口实现CRUD,本文我们将要讲解通过splsession来实现CRUD,这种方法比较灵活. 基本配置 <!-- spring和MyBatis完美整 ...

  5. UNP学习第13章 守护进程和inetd超级服务器

    Unix系统中的syslogd守护进程通常由某个系统初始化脚本启动,而且在系统工作期间一直运行. 源自Berkeley的syslogd实现在启动时执行以下步骤. (1)读取配置文件.通常为/etc/s ...

  6. java-特殊字符转义转换

    常见特殊字符:如下 <>…&—\"·‘’ java替换 /* * 特殊字符转换 */ public static String replacesss(String ss) ...

  7. vue开发环境及vue相关

    一.安装node.js Vue项目通常通过webpack工具来构建,而webpack命令的执行是依赖node.js的环境的,所以首先要安装node.js. 二.安装cnpm cnpm是淘宝对npm的镜 ...

  8. iOS 完全复制UIView

    如果要完全复制一个UIView和对象的时候可以使用对象序列化方法 // Duplicate UIView - (UIView*)duplicate:(UIView*)view { NSData * t ...

  9. (转)MAVEN的安装和Myeclipse+maven的配置和使用

    转:https://blog.csdn.net/shikongshengzhu/article/details/51779159 MAVEN的安装和Myeclipse+maven的配置和使用 步骤如下 ...

  10. 【git】git的内部原理

    参考文章:https://zhuanlan.zhihu.com/p/96631135 参考文章:https://marklodato.github.io/visual-git-guide/index- ...