Новые контроллеры не распознаются в проекте Spring Web Flow с использованием GradleJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Новые контроллеры не распознаются в проекте Spring Web Flow с использованием Gradle

Сообщение Anonymous »

Я работаю над проектом Spring Web Flow, используя Gradle. У меня есть существующие контроллеры в пакете com.example.project.controllers, и они правильно распознаются и сопоставляются приложением. Однако когда я добавляю новые контроллеры в тот же пакет, Spring не распознает их, и я получаю такие ошибки, как:

Код: Выделить всё

No mapping for GET /new_endpoint
Мои новые контроллеры не распознаются Spring, хотя они находятся в одном пакете и правильно аннотированы.
Мои существующие контроллеры работают нормально. Вот пример существующего контроллера:

Код: Выделить всё

package com.example.project.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class NewController {

@GetMapping("/some_endpoint")
public String newHandler() {
return "newView";
}
}
Если я добавляю новый контроллер в тот же пакет, requestMappingHandlerMapping не идентифицирует методы обработчика.
Я получаю 404.

Код: Выделить всё

No mapping for GET /new_endpoint
Что я проверил и попробовал:
  • Аннотации. Гарантировано, что новые контроллеры правильно аннотированы @Controller или @RestController, а их методы обработчика имеют соответствующие @RequestMapping, @GetMapping, или @PostMapping аннотации.
  • Структура пакета: подтверждено, что объявления пакета в новых классах контроллера соответствуют структуре каталогов, и они находятся в том же пакете, что и существующие контроллеры.
  • Сканирование компонентов: проверено, что @ComponentScan включает пакет com.example.project.controllers. Я имею в виду, это тоже очевидно!

Код: Выделить всё

@SpringBootApplication
@ComponentScan(basePackages = {"com.example.project.controllers"})
public class Application {
// ...
}
  • Модификаторы видимости: новые классы контроллеров и их методы-обработчики объявлены как общедоступные .
  • Журналы приложений: проверены журналы запуска, и Spring обнаруживает только существующие контроллеры. Новые контроллеры не отображаются в журналах в разделе RequestMappingHandlerMapping.
  • Чистая сборка и запуск: Выполнена ./gradlew clean build и ./gradlew run. Приложение запускается без ошибок, но новые контроллеры по-прежнему не распознаются.
Запуск tomcat во всех случаях проходит успешно !

Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-gradle
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с обновлением аргументов CLI: новые аргументы не распознаются при прямом выполнении
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Различные версии Gradle в моем проекте (gradle.xml и build.gradle)
    Anonymous » » в форуме Android
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Установка SDKMAN gradle, где находится домашняя папка Gradle ~/.gradle с init.gradle?
    Anonymous » » в форуме JAVA
    0 Ответы
    60 Просмотры
    Последнее сообщение Anonymous
  • Можно ли протестировать контроллеры Spring REST без @DirtiesContext?
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Примените Gradle к Kotlin dsl, но блоки Android не распознаются
    Anonymous » » в форуме Android
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»