解决At least one JAR was scanned for TLDs yet contained no TLDs.问题

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。

问题:

项目在本地Windows下运行正常,而将项目打包成war部署到Linux环境下的tomcat时,在启动tomcat的时候出现了如下图所示的错误:

解决过程

tomcat启动就卡在了这个位置怎么都无法进行下去了。于是乎在网上百度了一阵。基本方法如下:

第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字; 

第二种:修改EL表达式,例如${owner.new}可以修改为${owner['new']}; 

第三种:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties文件,添加org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true选项。

以上三种参照:http://blog.csdn.net/yangsen251024/article/details/21952613

第四种:参照:http://blog.csdn.net/yasi_xi/article/details/49642661关于这个的处理

第五种:就是关闭tomcat的tld扫描功能,参照:http://jingyan.baidu.com/article/20b68a8855e71a796dec627b.html(自己想着处理的)

通过上面五种方式处理过后还是报同样的错误,就开始尝试替换tomcat版本。也尝试更换tomcat的默认目录,也考虑过项目在打包成war之前项目是不是有断点。这些排除之后还是一样报错。到这里几乎已经快放弃了。但是后来想了想有没有可能是数据库的问题呢?(经过验证就是数据库的问题)

考虑可能是数据库的问题是因为在修改项目的applicationContext.xml之前报了一个如下的错误:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received

最后问题解决

其实就是一个数据库的映射端口的问题,Linux服务器将3306的端口对外映射成了13306,而我的数据库连接URL中还是用的这个13306这个端口。项目部署到Linux服务器后这个端口应该改成3306即可。

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...