【发布时间】:2011-09-12 20:17:02
【问题描述】:
0.0.M2 和 Spring 用于 Web 应用程序。 问题是war文件可以部署在Tomcat上并在Tomcat上正确执行。但它不能在码头上工作。我将码头作为独立程序运行。也就是说我只是把war文件复制到jetty的webapp目录下,使用“java -jar start.jar”
HTTP 错误 500
访问 /IOServer/schema/loadschemalist.json 时出现问题。原因:
org/springframework/transaction/TransactionDefinition
原因:
java.lang.NoClassDefFoundError: org/springframework/transaction/TransactionDefinition 在 com.fixflyer.service.aggregation.Aggregator.createMessageProcessor(Aggregator.java:47) 在 com.fixflyer.service.configuration.ConfigService.loadSchema(ConfigService.java:41) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710) 在 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:754) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 在 org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546) 在 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 在 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:479) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230) 在 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956) 在 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188) 在 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 在 org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) 在 org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) 在 org.eclipse.jetty.server.Server.handle(Server.java:353) 在 org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598) 在 org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1076) 在 org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) 在 org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) 在 org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) 在 java.lang.Thread.run(Thread.java:662) 引起:java.lang.ClassNotFoundException:org.springframework.transaction.TransactionDefinition 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) 在 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:417) 在 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:370) ... 40 更多
原因:
java.lang.ClassNotFoundException: org.springframework.transaction.TransactionDefinition 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) 在 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:417) 在 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:370) 在 com.fixflyer.service.aggregation.Aggregator.createMessageProcessor(Aggregator.java:47) 在 com.fixflyer.service.configuration.ConfigService.loadSchema(ConfigService.java:41) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710) 在 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:754) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 在 org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546) 在 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 在 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:479) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230) 在 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956) 在 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188) 在 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 在 org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) 在 org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) 在 org.eclipse.jetty.server.Server.handle(Server.java:353) 在 org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598) 在 org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1076) 在 org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) 在 org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) 在 org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) 在 java.lang.Thread.run(Thread.java:662)
由 Jetty 提供支持://
【问题讨论】: