#spring #jetty
#весна #jetty
Вопрос:
0.0.M2 и Spring для веб-приложения. Вопрос в том, что файл war может быть развернут на Tomcat и корректно выполняться на Tomcat. Но это не может работать на jetty. Я запускаю jetty как отдельную программу. То есть я просто копирую файл war в каталог веб-приложения jetty и использую «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 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) в sun.reflect.Делегирование methodaccessorimpl.invoke(делегирование methodaccessorimpl.java:25) в java.lang.reflect.Метод.invoke(Method.java:597) в org.springframework.web.bind.annotation.support.поддержка аннотаций.Обработчик вызова метода.Выполните invokeMethod (HandlerMethodInvoker.java:710) в org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) в org.springframework.web.servlet.mvc.annotation.Аннотационный метод обработки адаптера.invokeHandlerMethod(аннотационный метод обработки адаптера.java:414) в org.springframework.web.servlet.mvc.annotation.Аннотационный метод обработки адаптера.handle(annotationmethod HandlerAdapter.java:402) в org.springframework.web.servlet.Диспетчерский сервер.doDispatch(DispatcherServlet.java: 771) в org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) в org.springframework.web.servlet.Запрос FrameworkServlet.Process(FrameworkServlet.java:647) в org.springframework.web.servlet.FrameworkServlet.Разместите (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.Выполните обработку (ServletHandler.java:483) в org.eclipse.jetty.server.handler.Обработчик области видимости(ScopedHandler.java:119) в org.eclipse.jetty.security.Обработчик безопасности (SecurityHandler.java:479) в org.eclipse.jetty.server.session.Обработчик сеанса.Выполните обработку (SessionHandler.java:230) в org.eclipse.jetty.server.handler.Обработчик контекста.Выполните обработку (ContextHandler.java:956) в org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411) в org.eclipse.jetty.server.session.Обработчик сеанса.doScope (обработчик сеанса.java:188) в org.eclipse.jetty.server.handler.Обработчик контекста.doScope(обработчик контекста.java: 891) в org.eclipse.jetty.server.handler.Обработчик ScopedHandler.handle(ScopedHandler.java:117) в org.eclipse.jetty.server.handler.ContextHandlerCollection.обработайте (ContextHandlerCollection.java:247) в org.eclipse.jetty.server.handler.Обработчик коллекции.обработайте (HandlerCollection.java:151) в org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) в org.eclipse.jetty.server.Сервер.дескриптор(Server.java:353) в org.eclipse.jetty.server.HttpConnection.Запрос на обработку (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.обработайте (HttpConnection.java:427) в org.eclipse.jetty.io.nio.SelectChannelEndPoint.обработайте(SelectChannelEndPoint.java:510) в org.eclipse.jetty.io.nio.SelectChannelEndPoint.получите доступ к 000 долларов (SelectChannelEndPoint.java:34) в org.eclipse.jetty.io. nio.SelectChannelEndPoint$1.запустить (SelectChannelEndPoint.java:40) в организации.eclipse.jetty.util.thread.QueuedThreadPool $ 2.выполнить (QueuedThreadPool.java:450) на java.lang.Thread.run(Thread.java:662), вызванная: java.lang.Исключение ClassNotFoundException: org.springframework.transaction.Определение транзакции в java.net.URLClassLoader$1.выполнить(URLClassLoader.java:202) в java.security.Контроллер доступа.Допривилегирован (собственный метод) в java.net.URLClassLoader.FindClass(URLClassLoader.java:190) в java.lang.Загрузчик классов.loadClass(ClassLoader.java:306) в java.lang.Загрузчик классов.loadClass(ClassLoader.java:247) в org.eclipse.jetty.webapp.Загрузчик веб-приложений.loadClass(WebappClassLoader.java:417) в org.eclipse.jetty.webapp.WebappClassLoader.loadClass(WebappClassLoader.java:370) … еще 40
Caused by:
java.lang.Исключение ClassNotFoundException: org.springframework.transaction.Определение транзакции в java.net.URLClassLoader$1.выполнить(URLClassLoader.java:202) в java.security.Контроллер доступа.Допривилегирован (собственный метод) в java.net.URLClassLoader.FindClass(URLClassLoader.java:190) в java.lang.Загрузчик классов.loadClass(ClassLoader.java:306) в java.lang.Загрузчик классов.loadClass(ClassLoader.java:247) в org.eclipse.jetty.webapp.Загрузчик веб-приложений.loadClass(WebappClassLoader.java:417) в org.eclipse.jetty.webapp.Загрузчик веб-приложений.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 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) в sun.reflect.Делегирование methodaccessorimpl.invoke(делегирование methodaccessorimpl.java:25) в java.lang.reflect.Метод.invoke(Method.java:597) в org.springframework.web.bind.annotation.support.поддержка аннотаций.Обработчик вызова метода.doInvokeMethod(HandlerMethodInvoker.java:710) в org.springframework.web.привязка.аннотация.поддержка.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) в org.springframework.web.servlet.mvc.annotation.Аннотационный метод обработки адаптера.invokeHandlerMethod(аннотационный метод обработки адаптера.java:414) в org.springframework.web.servlet.mvc.annotation.Аннотационный метод обработки адаптера.handle(annotationmethod HandlerAdapter.java:402) в org.springframework.web.servlet.Диспетчерский сервер.doDispatch(DispatcherServlet.java:771) в org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) в org.springframework.web.servlet.Запрос FrameworkServlet.Process(FrameworkServlet.java:647) в org.springframework.web.servlet.FrameworkServlet.Разместите (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.Выполните обработку (ServletHandler.java:483) в org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) в организации.eclipse.jetty.security.Обработчик безопасности (SecurityHandler.java:479) в org.eclipse.jetty.server.session.Обработчик сеанса.Выполните обработку (SessionHandler.java:230) в org.eclipse.jetty.server.handler.Обработчик контекста.Выполните обработку (ContextHandler.java:956) в org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411) в org.eclipse.jetty.server.session.Обработчик сеанса.doScope (обработчик сеанса.java:188) в org.eclipse.jetty.server.handler.Обработчик контекста.doScope(ContextHandler.java:891) в org.eclipse.jetty.server.handler.Обработчик ScopedHandler.handle(ScopedHandler.java:117) в org.eclipse.jetty.server.handler.ContextHandlerCollection.обработайте (ContextHandlerCollection.java:247) в org.eclipse.jetty.server.handler.Обработчик коллекции.обработайте (HandlerCollection.java:151) в org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) в org.eclipse.jetty.server.Сервер.дескриптор(Server.java:353) в org.eclipse.jetty.server.HttpConnection.Запрос на обработку (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.обработайте (HttpConnection.java:427) в org.eclipse.jetty.io.nio.SelectChannelEndPoint.обработайте(SelectChannelEndPoint.java:510) в org.eclipse.jetty.io.nio.SelectChannelEndPoint.получите доступ к 000 долларов (SelectChannelEndPoint.java:34) в org.eclipse.jetty.io. nio.SelectChannelEndPoint $1.запустить (SelectChannelEndPoint.java: 40) в org.eclipse.jetty.util.thread.QueuedThreadPool$2.запустить (QueuedThreadPool.java:450) в java.lang.Поток.run(поток.java:662)
Работает на Jetty://
Ответ №1:
Добавьте эту зависимость
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
Комментарии:
1. На случай, если кто-то захочет посмотреть текущую версию: вот ссылка
2. У меня это сработало. Получил ту же ошибку при использовании Cucumber. Спасибо!
Ответ №2:
Я столкнулся с этой проблемой при запуске конкретного теста сценария cucumber в IntelliJ, мне пришлось удалить «cucumber.api.spring» в разделе клея в конфигурации редактирования.