Question


i'm trying a simple example about Struts2 ,i encountered an below issue

----------------
Mar 02, 2014 7:16:05 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception
------------------------------------------------------------------------

java.lang.ClassNotFoundException: javax.el.ELContext
----------------------------------------------------

    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    at java.lang.Class.privateGetPublicMethods(Class.java:2562)
    at java.lang.Class.privateGetPublicMethods(Class.java:2578)
    at java.lang.Class.privateGetPublicMethods(Class.java:2578)
    at java.lang.Class.getMethods(Class.java:1427)
    at freemarker.ext.beans.BeansWrapper.discoverAccessibleMethods(BeansWrapper.java:1395)
    at freemarker.ext.beans.BeansWrapper.discoverAccessibleMethods(BeansWrapper.java:1385)
    at freemarker.ext.beans.BeansWrapper.populateClassMapWithBeanInfo(BeansWrapper.java:1129)
    at freemarker.ext.beans.BeansWrapper.populateClassMap(BeansWrapper.java:1072)
    at freemarker.ext.beans.BeansWrapper.introspectClassInternal(BeansWrapper.java:1010)
    at freemarker.ext.beans.BeansWrapper.introspectClass(BeansWrapper.java:969)
    at freemarker.ext.beans.BeanModel.<init>(BeanModel.java:140)
    at freemarker.ext.beans.StringModel.<init>(StringModel.java:90)
    at freemarker.ext.beans.StringModel$1.create(StringModel.java:75)
    at freemarker.ext.beans.BeansModelCache.create(BeansModelCache.java:45)
    at freemarker.ext.util.ModelCache.getInstance(ModelCache.java:115)
    at freemarker.ext.beans.BeansWrapper.wrap(BeansWrapper.java:468)
    at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:867)
    at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
    at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
    at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
    at freemarker.core.ExistsExpression._getAsTemplateModel(ExistsExpression.java:71)

        .........

It's it caused by the conflict of of the packages i import?

Was it helpful?

Solution

The Apache Tomcat web server already contains and loaded this classes from el-api.jar. To compile your application you might also include Java EE libraries including javax.servlet.jsp.jar but it's not necessary to deploy them. To choose which classes are available between classloaders see Apache Tomcat 7: Class Loader HOW-TO the documentation page.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top