jfinal运行时报错分析java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
Posted 漠北桑海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jfinal运行时报错分析java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener相关的知识,希望对你有一定的参考价值。
这里解释一下,我用maven jetty运行没啥问题的项目,当我切换tomcat时候出现如下错误。
问题1. - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
问题2. java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
这里大家如果直查询问题2,相信大家大多看到的解决方式是:检查输出环境,右击项目–>Build Path–>Source,如下
这种方式解决问题是没错,当然你还得检查一下Deployment Assembly,检查maven lib包存在等,结果发现自己配的没问题,但是原因不在这里,那么再回归到问题1的报错搜索;
出现这个原因,是因为javaee-web-api版本问题,在pom.xml 去看到,版本是6,当我们把项目和Tomcat的jdk配置成1.6,
网上查到可能是tomcat自身的包冲突了 ,于是我把javax 这个引用注释之后,发现不报这个错误,而出现新的
Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 2, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 11q2w15aa1refzrau0gn85|629274e1, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass
那么排除包冲突的错误了,所以继续这个引入这个包,检查版本一切都是jdk 1.6没毛病时候,发现原来多了一行报错。webSocket需要1.7及以上的版本
这下问题明朗了,那就把6版本升级为7.0,又把项目和tomcat的jdk换成了1.8
一切OK ,顺利启动。
原因总结,此项目版本需要jdk 1.6以上版本,但是pom.xml却配置成了1.6的版本的,所以会导致这个问题。
本文属作者原创,如有转载,请表明出处:https://www.cnblogs.com/mobeisanghai/p/13186975.html
以上是关于jfinal运行时报错分析java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener的主要内容,如果未能解决你的问题,请参考以下文章
[JavaWeb]_[中级]_[Tomcat在关闭时报指向Jfinal框架的错误]
搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver
实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
Simulink 运行时报错failed to create files 的解决方法