如下,解析double类型列的时候,走到了这里,抛出找不到类,原因是druid的pom中未添加对commons-lang 的依赖:
10:32:03.031 [qtp1240412896-9485] ERROR -- com.youzan.rds.console.web.mvc.controller.WorkflowAction [ 51] -- java.lang.NoClassDefFoundError: org/apache/commons/lang/math/NumberUtils at com.alibaba.druid.sql.parser.Lexer.decimalValue(Lexer.java:1288) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:265) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.primary(MySqlExprParser.java:167) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.bitXor(SQLExprParser.java:152) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.multiplicative(SQLExprParser.java:189) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.additive(SQLExprParser.java:1263) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.shift(SQLExprParser.java:1291) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.bitAnd(SQLExprParser.java:1169) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.bitOr(SQLExprParser.java:1183) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.parseColumnRest(SQLExprParser.java:1679) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.parseColumnRest(MySqlExprParser.java:600) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLExprParser.parseColumnRest(SQLExprParser.java:1687) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.parseColumnRest(MySqlExprParser.java:600) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.parseColumn(MySqlExprParser.java:539) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlterTableAddColumn(MySqlStatementParser.java:2788) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlterTable(MySqlStatementParser.java:2335) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlter(MySqlStatementParser.java:2298) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:220) ~[druid-1.0.24.jar:1.0.24] at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatement(SQLStatementParser.java:2036) ~[druid-1.0.24.jar:1.0.24]
原提问者GitHub用户ChinaXing
根据您提供的信息,是因为Druid的pom文件中未添加org.apache.commons:commons-lang3依赖导致找不到NumberUtils类。为了解决这个问题,您需要在Druid的pom文件中添加以下依赖:
xml
Copy
org.apache.commons
commons-lang3
当前版本
请注意将“当前版本”替换为您使用的commons-lang3版本。如果您不确定使用的版本,可以在Maven仓库中查找。
添加了这个依赖之后,重新编译Druid并重新启动应用程序,应该就可以解决找不到NumberUtils类的问题了。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。