首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >App Engine: jar在WEB-INF/lib中,但仍然获得java.lang.ClassNotFoundException

App Engine: jar在WEB-INF/lib中,但仍然获得java.lang.ClassNotFoundException
EN

Stack Overflow用户
提问于 2013-10-07 11:07:07
回答 2查看 1.4K关注 0票数 2

在我的App Engine应用程序运行时,我收到以下异常:

代码语言:javascript
复制
java.lang.ExceptionInInitializerError
at
org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.interpolateExpression(ResourceBundleMessageInterpolator.java:227)

... (removed for brevity)

Caused by: java.lang.ClassNotFoundException: de.odysseus.el.ExpressionFactoryImpl

我在我的开发服务器上看到了这个错误,并通过在我的pom.xml中包含juel-impl来修复它

当我使用appcfg.sh从服务器拉出我的应用程序时,我看到它在WEB-INF/lib文件中包含了juel-impl-2.2.7-20130801.163115-1.jar

我真的不确定这是怎么回事。

EN

回答 2

Stack Overflow用户

发布于 2013-11-06 22:06:59

更新:根据GAE issue tracker的说法,这个问题已经在1.9.7版本中得到了修复。有关早期版本,请参阅下面的内容。

Hibernate Validator5.x使用了Unified Expression Language。特别是,它使用了一个静态API方法来查找ExpressionFactory的实现。然而,App Engine 1.9.4及更早版本中的bug似乎阻止了在仅用于生产的中使用任何表达式工厂实现

在此问题得到解决之前,有两种解决方法:

  1. 如果你不需要Bean Validation 1.1的特性,可以退回到Hibernate Validator4.3.1。我已经成功地测试了这一点。

Apache validator 4.3.1最终的

  • 如果你需要Bean Validation 1.1,有reports可以让它与

BVal的存储库快照一起工作。我还没有测试过这个。

更新注意:按照我之前的响应(Glassfish EL或JUEL)中的说明指定表达式语言实现在开发和某些生产用例中工作得很好,但对于某些验证仍然会失败。

票数 3
EN

Stack Overflow用户

发布于 2013-12-17 19:00:06

我也有同样的问题。它有助于使用hibernate-validator 4.3.1 instead而不是5.0.1 instead。参考:stackoverflow (avidD-s答案)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19216495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档