Facing issue with java.lang.NoClassDefFoundError: org/apache/velocity/context/Context

12,234

Solution 1

You need to add the velocity-version.jar to your server classpath, you can put it in the lib folder of your tomcat server, or you can put this jar in the WEB-INF/lib folder of your project.

Solution 2

Download velocity-1.7 jar and add in to eclipse Deployment Assembly then restart the server.

Share:
12,234
user2131465
Author by

user2131465

Updated on June 04, 2022

Comments

  • user2131465
    user2131465 almost 2 years

    I'm a new learner velocity. I am trying to display the template in HTML format by writing a servlet for that. The following is my servlet code

            protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                PrintWriter out = response.getWriter();
                  VelocityEngine velocityEngine = new VelocityEngine();
                  try {
                    velocityEngine.init();
                    Template template = velocityEngine.getTemplate("./src/Menu.txt");
    
                  VelocityContext context = new VelocityContext();
                  context.put( "special-1", "./src/special-1.txt" );
                  context.put( "special-2", "./src/special-2.txt" );
                  context.put( "special-3", "./src/special-3.txt" );
                  StringWriter writer = new StringWriter();
                  template.merge(context, writer);
                  out.println(writer);
                  } catch (Exception e) {
                        e.printStackTrace();
                    }
            }
    

    And following is the stack trace im getting...

        SEVERE: A child container failed during start
        java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
            at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
            at java.util.concurrent.FutureTask.get(Unknown Source)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
            ... 7 more
        Caused by: java.lang.NoClassDefFoundError: org/apache/velocity/context/Context
            at java.lang.Class.getDeclaredFields0(Native Method)
            at java.lang.Class.privateGetDeclaredFields(Unknown Source)
            at java.lang.Class.getDeclaredFields(Unknown Source)
            at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
            at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:263)
            at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:142)
            at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
            at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
            ... 7 more
        Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Context
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
            ... 21 more
    

    Can anybody help me out?

  • Sergio A.
    Sergio A. over 3 years