繁体   English   中英

在tomcat服务器中部署war文件时获取此异常

[英]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\\classesWEB-INF\\lib下的所有已编译类和所需的库?

我在eclipse中也有类似的问题,但是当部署在tomcat中时,会引发错误。 这可能是因为在eclipse中,您在不同的位置提供了一些jar文件,并在类路径中使用了它。

因此,请确保您所有的jar都在项目lib文件夹中可用

看起来您的战争中缺少一个库-仅在eclipse配置中存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM