javax.validation.ValidationException: HV000183: Unable to load 'javax.el.ExpressionFactory'

来源:互联网 发布:html简单小游戏源码 编辑:程序博客网 时间:2024/06/05 18:50

今天在做dubbo 的时候遇到了一个错误纠结了好长的时间,现在将经验与大家分享。

由于dubbo本身就带有一种容器也就是spring,所以为了提高执行的效率,减少使用的容器 ,我的dubbo服务是通过 dubbo的start方法去启动区管理的,所以没有依赖servlet容器。

在启动程序的时候出现了如下的一段错误

Exception in thread "main" javax.validation.ValidationException: Unable to instantiate Configuration.    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:279)    at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:110)    ...    at org.hibernate.validator.internal.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:110)    at org.hibernate.validator.internal.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:86)    at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:41)    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:276)    ... 2 more  javax.validation.ValidationException: HV000183: Unable to load 'javax.el.ExpressionFactory'

什么原因了,一眼就看出来了,我使用hibernate bean validator ,但是beanvalidator是依赖于与javax validator和javax.el的。说的更加直白一点就是依赖于servlet容器,如果dubbo是交给tomcat或者jetty服务器去管理的,那么OK,没有这个问题,但是我们现在不是,所以我们需要提供错误所提示的jar。

*添加如下所示的jar问题解决,成功启动:*

<dependency>   <groupId>javax.el</groupId>   <artifactId>javax.el-api</artifactId>   <version>2.2.4</version></dependency><dependency>   <groupId>org.glassfish.web</groupId>   <artifactId>javax.el</artifactId>   <version>2.2.4</version></dependency>
0 0
原创粉丝点击