title: Tomcat can't start the app because it can't find JSONRPC2ParseException class
body: <p>I have application in <code>/var/lib/tomcat7/webapps/code</code> I have init.java file that use <a href="http://software.dzhuvinov.com/json-rpc-2.0-base.html" rel="nofollow">json-rpc-2.0</a></p>
  
  <p>I compile it using:</p>
  
  <pre><code>export CLASSPATH=$CLASSPATH:/path/jsonrpc2-base-1.35.jar:/path/json-smart-1.2.jar
  javac init.java
  </code></pre>
  
  <p>it compile but when I run the app (not the servlet) I got error 404 from Tomcat and in catalina.out file there is exception:</p>
  
  <pre><code>org.apache.catalina.LifecycleException: Failed to start component [StandardEngin
  e[Catalina].StandardHost[localhost].StandardContext[/code]]
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
          at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
  .java:901)
          at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
  7)
          at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
          at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
  a:1114)
          at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig
  .java:1673)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
  1)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
          at java.util.concurrent.FutureTask.run(FutureTask.java:166)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:724)
  Caused by: java.lang.NoClassDefFoundError: com/thetransactioncompany/jsonrpc2/JSONRPC2ParseException
          at java.lang.Class.getDeclaredFields0(Native Method)
          at java.lang.Class.privateGetDeclaredFields(Class.java:2387)
          at java.lang.Class.getDeclaredFields(Class.java:1796)
          at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
          at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
          at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
          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:369)
          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:5179)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          ... 11 more
  Caused by: java.lang.ClassNotFoundException: com.thetransactioncompany.jsonrpc2.JSONRPC2ParseException
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
          ... 25 more
  </code></pre>
  
  <p>with caused by not found <code>com/thetransactioncompany/jsonrpc2/JSONRPC2ParseException</code> which is in jar file.</p>
  
  <p>What's happening here? How can I fix it to make it work?</p>