[英]Getting this Exception while deploying war file in tomcat server
我正在通过在Eclipse中使用码头服务器来完成挂毯中的Web项目。
在日食中运行时效果很好。 但是当我在Tomcat服务器中部署war文件时。 我得到下面的堆栈跟踪。 请帮我
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)
类路径加载器默认为JVM类路径。 如果当前类与您尝试获取其实例的类位于相同的jar /位置中,请使用它来获取当前类的类路径加载器。
ClassPool pool = ClassPool.getDefault();
ClassClassPath ccpath = new ClassClassPath(this.getClass());
pool.insertClassPath(ccpath);
CtClass superClass = pool.get("com.some.TestClass");
是否正确构建了WAR文件,并分别包含了WEB-INF\\classes
和WEB-INF\\lib
下的所有已编译类和所需的库?
我在eclipse中也有类似的问题,但是当部署在tomcat中时,会引发错误。 这可能是因为在eclipse中,您在不同的位置提供了一些jar文件,并在类路径中使用了它。
因此,请确保您所有的jar都在项目lib文件夹中可用
看起来您的战争中缺少一个库-仅在eclipse配置中存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.