title: Struts 2 problem to run the program
body: <p>I am new in Struts 2. I want to create a simple Hello program using struts2 and when I try to run the program, i am getting the following message in the console:</p>
  
  <pre class="lang-none prettyprint-override"><code>Aug 30, 2013 11:33:35 AM org.apache.catalina.core.AprLifecycleListener init
  INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\HP SimplePass\x64;C:\Program Files (x86)\HP SimplePass\;;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\12.0\DLLShared\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Intel\Services\IPT\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Git\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Java\jdk1.7.0_25\bin;C:\javaworks\apache-ant-1.9.2\bin;;.
  Aug 30, 2013 11:33:36 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
  WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ExampleTracker' did not find a matching property.
  Aug 30, 2013 11:33:36 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["http-bio-8080"]
  Aug 30, 2013 11:33:36 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
  Aug 30, 2013 11:33:36 AM org.apache.catalina.startup.Catalina load
  INFO: Initialization processed in 661 ms
  Aug 30, 2013 11:33:36 AM org.apache.catalina.core.StandardService startInternal
  INFO: Starting service Catalina
  Aug 30, 2013 11:33:36 AM org.apache.catalina.core.StandardEngine startInternal
  INFO: Starting Servlet Engine: Apache Tomcat/7.0.42
  Aug 30, 2013 11:33:37 AM com.opensymphony.xwork2.util.logging.jdk.JdkLogger error
  SEVERE: Dispatcher initialization failed
  java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
      at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301)
      at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:438)
      at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
      at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
      at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
      at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
      at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
      at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584)
      at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
      at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:324)
      at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:221)
      at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
      at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
      at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
      at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
      at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
      at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
      at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
      at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:107)
      at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
      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: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:299)
      ... 28 more
  Caused by: java.lang.ExceptionInInitializerError
      at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:84)
      ... 33 more
  Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
      at ognl.OgnlRuntime.&lt;clinit&gt;(OgnlRuntime.java:168)
      ... 34 more
  Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Unknown Source)
      at ognl.OgnlRuntime.&lt;clinit&gt;(OgnlRuntime.java:165)
      ... 34 more
  
  Aug 30, 2013 11:33:37 AM org.apache.catalina.core.StandardContext filterStart
  SEVERE: Exception starting filter struts2
  java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector
  File: ContainerImpl.java
  Method: inject
  Line: 301 - com/opensymphony/xwork2/inject/ContainerImpl.java:301:-1
      at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:502)
      at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
      at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
      at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
      at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
      at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:107)
      at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
      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: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
      at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301)
      at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:438)
      at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
      at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
      at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
      at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
      at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
      at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584)
      at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
      at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:324)
      at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:221)
      at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
      at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
      at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
      ... 15 more
  Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:299)
      ... 28 more
  Caused by: java.lang.ExceptionInInitializerError
      at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:84)
      ... 33 more
  Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
      at ognl.OgnlRuntime.&lt;clinit&gt;(OgnlRuntime.java:168)
      ... 34 more
  Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Unknown Source)
      at ognl.OgnlRuntime.&lt;clinit&gt;(OgnlRuntime.java:165)
      ... 34 more
  
  Aug 30, 2013 11:33:37 AM org.apache.catalina.core.StandardContext startInternal
  SEVERE: Error filterStart
  Aug 30, 2013 11:33:37 AM org.apache.catalina.core.StandardContext startInternal
  SEVERE: Context [/ExampleTracker] startup failed due to previous errors
  Aug 30, 2013 11:33:37 AM org.apache.coyote.AbstractProtocol start
  INFO: Starting ProtocolHandler ["http-bio-8080"]
  Aug 30, 2013 11:33:37 AM org.apache.coyote.AbstractProtocol start
  INFO: Starting ProtocolHandler ["ajp-bio-8009"]
  Aug 30, 2013 11:33:37 AM org.apache.catalina.startup.Catalina start
  INFO: Server startup in 1277 ms
  </code></pre>
  
  <p>My original code block are the followings:</p>
  
  <p>HelloWorld.java</p>
  
  <pre class="lang-java prettyprint-override"><code>package com.xyz;
  
  import com.opensymphony.xwork2.ActionSupport;
  
  
  public class HelloWorld extends ActionSupport{
  
      /**
       * 
       */
      private static final long serialVersionUID = 1L;
      private String greeting;
  
      public String getGreeting() {
          return greeting;
      }
  
      public void setGreeting(String greeting) {
          this.greeting = greeting;
      }
  
      @Override
      public String execute() throws Exception {
          setGreeting("hello program");
          return SUCCESS;
      }
  
  }
  </code></pre>
  
  <p>struts.xml</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd"&gt;
  
  &lt;struts&gt;
      &lt;package name="basicStruts" extends="struts-default"&gt;
          &lt;action name="hello" class="com.xyz.HelloWorld"&gt; 
              &lt;result name="success"&gt;/HelloWorld.jsp&lt;/result&gt;
          &lt;/action&gt;
  
      &lt;/package&gt;
  
  &lt;/struts&gt;
  </code></pre>
  
  <p>After running when I try to access through the link <code>http://localhost:8080/ExampleTracker/hello</code>, i got the following page: </p>
  
  <p><img src="https://i.stack.imgur.com/BEsR7.png" alt="enter image description here"></p>
  
  <p>Can anybody help me how to solve this problem.</p>
  
  <p>Thanks</p>