idea 找不到类错误ClassNotFoundException解决方案

新建了个项目,想添加spring到项目中。却奇怪的遇到错误。找不到ClassNotFoundException。

一般碰到这个错误都是类没有加载进来,检查web.xml没有异常,检查pom文件正常,在web.xml文件中甚至可以进入到spring的监听器中。

 <!-- log4j的配置文件加载 放在最前面才能捕获到spring加载bean的错误,配置文件放根目录才不会有警告-->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
    </context-param>

    <!--加载spring配置文件位置-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:config/spring/applicationContext-*.xml</param-value>
    </context-param>

    <!--捕捉服务器的启动和停止,触发相应的方法-->
    <!-- spring监听器 -->
    <!--<listener>-->
        <!--<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>-->
    <!--</listener>-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

百度之发现其实ecplise中也有人碰到过这种问题,jar明明在却就是找不到,最后的解决方案发现tomcat的应用下面没有lib这个文件夹,导致jar无法放进去,从而出现的这个问题。

下面具体的报错信息:

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1858)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4984)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1859)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)

服务器报错信息:

十一月 28, 2016 11:55:00 下午 org.apache.catalina.core.StandardContext startInternal
严重: One or more listeners failed to start. Full details will be found in the appropriate container log file
十一月 28, 2016 11:55:00 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/shadow] startup failed due to previous errors
[2016-11-28 11:55:00,241] Artifact shadow:war exploded: Error during artifact deployment. See server log for details.

按照上面ecplise发生的错误,检查idea的配置

000331_QP1f_2652412.png

如上可以看到文件没有添加进去,

000638_mQTP_2652412.png

建好之后是这样的

000707_xW5h_2652412.png

000833_0BIt_2652412.png

这个时候可以看到文件已经到这里面来了

000912_bTTP_2652412.png

 

点击确定,再次运行!项目成功运行!此时,你也可去你的编译目录发现lib下面已经有文件了~

比如我的编译输出路径是这个

001248_ecNI_2652412.png

打开这个路径果然是jar都在了

001321_H30U_2652412.png

如果上面没设置的话,光在编译输出路径建立lib包是没有作用的!

另外最后测试发现,其实,直接直接点击也是可以的

001613_9fKv_2652412.png

 

转载于:https://my.oschina.net/sprouting/blog/795756

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值