Невозможно обслуживать статические ресурсы с помощью Spring Boot - PullRequest
0 голосов
/ 27 мая 2018

У меня есть приложение Sprint Boot Gradle, которое имеет следующую структуру: Снимок экрана структуры проекта

Структура проекта

/build.gradle
/src/main/resources/static/css/default.css
/src/main/java/com/expensalyze/ExpensalyzeApplication.java
/src/main/java/com/expensalyze/web/TagController.java

В основномУ меня есть файл CSS, расположенный по адресу src/main/resources/static/css/default.css.Я ожидаю получить этот файл на http://localhost:8080/css/default.css.

В соответствии с этой ссылкой , а также пружинными загрузочными документами , вышеуказанная настройка - это все, что нужно.Но я получаю 404, когда пытаюсь посетить http://localhost:8080/css/default.css

build.gradle

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.0.2.RELEASE'
}

repositories {
    mavenCentral()
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web:2.0.2.RELEASE')
}

ExpensalyzeApplication.java

@SpringBootApplication
@EnableWebMvc
@ComponentScan(basePackages = "com.expensalyze")
public class ExpensalyzeApplication {
    public static void main(String[] args) {
        SpringApplication.run(ExpensalyzeApplication.class, args);
    }
}

TagController.java

@Controller
public class TagController {
    @RequestMapping("/tag") // This works properly
    @ResponseBody
    String tag() {
        return "tag";
    }
}
  • Я не добавил ни одного явного кода конфигурации сопоставления ресурсов.
  • Мои сопоставления методов контроллера

Минимальный код для воспроизведения проблемы можно найти здесь в ветке static-res-test.Вы можете запустить проект с помощью следующих шагов (требуется JDK 8):

$ ./gradlew clean build
$ java -jar build/libs/expensalyze.jar

Если вы посещаете http://localhost:8080/tag, он работает, но если вы посещаете http://localhost:8080/css/default.css, он не найден!

Чего мне не хватает?

1 Ответ

0 голосов
/ 28 мая 2018

Никогда не используйте EnableWebMvc в приложении Boot.Он удаляет все автоконфигурации MVC, сделанные Spring boot, и назначает вас ответственным за все .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...