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
最新文章
- android系统release签名
- python基础之循环结构以及列表
- Scala spark mongodb
- 【python cookbook】【数据结构与算法】11.对切片命名
- 管理和维护RHCS集群
- OC封装的TLV数据格式解析库
- kinect for windows - DepthBasics-D2D详解之三
- C++数据结构之图
- Nmap脚本文件分析(AMQP协议为例)
- Linux下进程的创建过程分析(_do_fork do_fork详解)--Linux进程的管理与调度(八)
- hystrix实战总结;
- Linux ELF 文件格式
- 2017-12-26 Java关键字的汉化用词探讨
- python 线程,进程28原则
- Android 工程中各种文件的介绍
- 转:sqlserver 临时表、表变量、CTE的比较
- Java常量池的理解
- eclipse+pydev 怎么导入已有的python项目
- 【AtCoder】AGC011 D - Half Reflector
- Bootstrap进阶一:Glyphicons 字体图标