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 的解决方法

错误记录Kotlin 代码运行时报错 ( 在 init 初始化块中调用还未初始化的成员属性 )

错误记录Kotlin 代码运行时报错 ( 在 init 初始化块中调用还未初始化的成员属性 )