RestEasy-Links:在Tomcat上部署期间未加载javax.el-3.0.0.jar

时间:2015-04-04 17:07:54

标签: java tomcat resteasy

我会写一些小的休息服务,并在链接注入方面遇到问题。

我正在使用resteasy 3.0.7.Finalresteasy-links 3.0.7.Final。当我将应用程序部署到Tomcat(7.0.59)时,日志显示以下信息:

INFORMATION: validateJarFile(/Users/user/Workspace/.metadata/.plugins/
org.eclipse.wst.server.core/tmp0/wtpwebapps/jaxrs-wnck/WEB-INF/lib/javax.el-3.0.0.jar)
- jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class:
javax/el/Expression.class
Apr 04, 2015 6:29:48 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

INFORMATION: validateJarFile(/Users/user/Workspace/.metadata/.plugins/org.eclipse.wst.
server.core/tmp0/wtpwebapps/jaxrs-wnck/WEB-INF/lib/jboss-el-api_3.0_spec-1.0.0.Final.jar)
- jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class:
javax/el/Expression.class

服务启动但是当我请求执行链接注入的资源时 RESTServiceDiscovery字段,会引发java.lang.ClassNotFoundException: javax.el.StandardELContext

- 谢谢!

1 个答案:

答案 0 :(得分:3)

在tomcat 7中,Expression Language API规范版本为2.2,StandardELContext版本为3.0。

来自Servlet specification

  

如Java EE许可协议中所述,servlet容器即可   不属于Java EE产品不应该允许应用程序   覆盖Java SE平台类,例如java。*和   javax。*名称空间,Java SE不允许修改。

所以,你可以:

  • 更新到tomcat 8;
  • 将您的应用程序部署在Java EE容器中,允许应用程序覆盖;
  • 使用较旧版本的rest easy(3.0.5.Final应该可以工作);