FreshBits
FreshBits

Reputation: 1013

Getting this Exception while deploying war file in tomcat server

I'm doing web project in tapestry by using jetty server in Eclipse.

It works fine while running in eclipse. but when i deployed the war file in Tomcat server. I'm getting the below Stack Trace. please help me

org.apache.tapestry5.ioc.internal.OperationException
java.lang.ClassNotFoundException: caught an exception while obtaining a class file for net.video.pages.Index

trace
Constructing instance of page class net.video.pages.Index
Creating ComponentAssembler for net.video.pages.Index

java.lang.ClassNotFoundException
caught an exception while obtaining a class file for net.video.pages.Index

exception
org.apache.tapestry5.ioc.internal.OperationException: javassist.NotFoundException: org.json.JSONException

org.apache.tapestry5.ioc.internal.OperationException
javassist.NotFoundException: org.json.JSONException

trace
Constructing instance of page class net.video.pages.Index
Creating ComponentAssembler for net.video.pages.Index
Transforming component class net.video.pages.Index

javassist.NotFoundException
org.json.JSONException

javassist.ClassPool.get(ClassPool.java:436)
javassist.ClassPool.get(ClassPool.java:655)
javassist.CtBehavior.getExceptionTypes(CtBehavior.java:335)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.toMethodSignature(InternalClassTransformationImpl.java:1595)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.access$000(InternalClassTransformationImpl.java:54)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl$TransformMethodImpl.<init>(InternalClassTransformationImpl.java:107)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.recordMethod(InternalClassTransformationImpl.java:1143)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.preloadMethods(InternalClassTransformationImpl.java:894)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.preloadMembers(InternalClassTransformationImpl.java:887)
    org.apache.tapestry5.internal.services.InternalClassTransformationImpl.<init>(InternalClassTransformationImpl.java:805)
    org.apache.tapestry5.internal.services.ComponentClassTransformerImpl$1.run(ComponentClassTransformerImpl.java:186)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
    org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
    org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1058)
    org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:111)
    org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:212)
    javassist.Loader.findClass(Loader.java:340)
    org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:102)
    javassist.Loader.loadClass(Loader.java:311)
    java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:305)
    org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.getInstantiator(ComponentInstantiatorSourceImpl.java:285)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl$4.invoke(PageLoaderImpl.java:222)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl$4.invoke(PageLoaderImpl.java:219)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
    org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
    org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl.createAssembler(PageLoaderImpl.java:218)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl.getAssembler(PageLoaderImpl.java:208)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:180)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
    org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
    org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
    org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
    org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
    org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
    org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
    org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
    org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
    org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
    org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
    org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
    org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
    net.snovabits.services.AppModule$1.service(AppModule.java:90)
    org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
    org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
    org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
    org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
    org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
    org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
    org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
    org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
    org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
    org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
    org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
    org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
    org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) 

Upvotes: 1

Views: 2178

Answers (4)

Christopher Broderick
Christopher Broderick

Reputation: 448

The classpath loader defaults to the JVM classpath. Use this to get the classpath loader for the current class if it is in the same jar/location as your class you are trying to get an instance of:

    ClassPool pool = ClassPool.getDefault();
    ClassClassPath ccpath = new ClassClassPath(this.getClass());
    pool.insertClassPath(ccpath);
    CtClass superClass =    pool.get("com.some.TestClass");

Upvotes: 1

Jayy
Jayy

Reputation: 2436

I had a similar issue where it works in eclipse but when deployed in tomcat, it throws error. It could be because in eclipse you provide some jar files in different locations and use it in class path.

Hence make sure all your jars are available in project lib folder

Upvotes: 1

Michael
Michael

Reputation: 2500

Is your WAR file getting built correctly and including all of your compiled classes and needed libraries under WEB-INF\classes and WEB-INF\lib respectively?

Upvotes: 1

light_303
light_303

Reputation: 2111

looks like a library is missing in your war - which is only present in your eclipse configuration.

Upvotes: 0

Related Questions