Обновлено: Прикрепленные pom.xml и application.property и еще несколько сообщений об ошибках / предупреждениях.
Привет, я новичок в Spring Boot и просто беру несколько уроков по Udemy.
Проходя через класс, я создаю стартовый проект через spring.io и добавляю зависимости от исполнительного механизма и браузера Hal, включая инструменты Dev.
Просто запустил мое приложение и попытался перейти на localhost:8080/application и /browser, но я получил 404.
Что я делаю неправильно?
Я написал простой bean-компонент, который возвращает жестко закодированное значение, а затем распечатал его, я изменил значение для тестирования инструментов Dev, и он не перезапустил ресурс, мне пришлось убить и перезапустить приложение, чтобы отразить новые изменения.
Как я могу проверить, в чем проблема?
При необходимости я могу предоставить консоль.
Пожалуйста помоги.
Обновлять: Я не знаю значения следующего, поэтому вставляю его здесь.
в редакторе XML hal выделяется красным подчеркиванием со следующим сообщением при наведении курсора:
The managed version is 3.0.5.RELEASE The artifact is managed in org.springframework.data:spring-data-releasetrain:Kay-SR5
в редакторе XML devtools подчеркивается красным цветом со следующим сообщением при наведении курсора:
The managed version is 2.0.0.RELEASE The artifact is managed in org.springframework.boot:spring-boot-dependencies:2.0.0.RELEASE
pom.xml:
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myoxigen.training.springboot</groupId>
<artifactId>library</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>library</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-hal-browser</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties файл:
logging.level.org.springframework = DEBUG
management.security.enabled=false
надеюсь теперь информация будет более полезной, я добавил оба
Примечание. Этот ответ основан на Spring Boot 2 (пути и свойства изменились с версии 1).
Ваш pom.xml мне нравится. Чтобы «Браузер HAL» работал с приводом, у вас должны быть стартеры: web, actuator и Rest Repositories HAL Browser. Я рекомендую Spring Initializr как хороший способ создать исходную действительную структуру проекта.
Путь по умолчанию для привода - /actuator. Здоровье, например, на уровне /actuator/health.
Чтобы просмотреть конечные точки привода в браузере HAL, перейдите на /browser/index.html#/actuator.
Вы можете изменить путь привода в application.properties, установив следующее.
management.endpoints.web.base-path=/actuator
Чтобы запустить сервер, используйте следующую консольную команду:
./mvnw clean spring-boot:run
Если в вашем проекте есть DevTools, то изменения файлов в вашем пути к классам перезапустят сервер. Смотрите мои дальнейшие комментарии о том, как использовать DevTools здесь.
Вот соответствующая документация на одной странице для удобного поиска:
Я только что где-то видел, что /actuator был ненадолго заменен на /application для Spring Boot 2.0 - но что касается 2.0.0-RELEASE, он вернулся на /actuator.
Разве вы не изучали курс «через 28 минут»? =) В любом случае, когда я учился на курсе Spring Boot для начинающих за 10 шагов, я столкнулся с той же проблемой с доступом к http://localhost:8080/application.
Для http://localhost:8080/browser у меня получился простой json:
{"cause":null,"message":"Fragment must not be empty"}
В pom.xml у меня были те же зависимости, что вы указали в вопросе.
Некоторый поиск в Google привел меня к статье это. В разделе «II. Hal Browser» вы можете увидеть скриншот, где в браузере ссылка http://localhost:8080/browser/index.html#. Если использовать эту ссылку, то должен волшебным образом появиться Hal Browser.
Итак, /index.html# был единственным кусочком головоломки, который вы упустили.
Примечание: вышеуказанный подход работал с Spring Boot версии 2.1.7.
РЕДАКТИРОВАТЬ: несмотря на то, что Hal Browser сам работает с вышеуказанным подходом, он по-прежнему не показывает конечные точки исполнительных механизмов. И DevTools у меня тоже не работает.
Для включения привода добавьте это в файл свойств (application.properties).
management.endpoints.web.exposure.include=*
Перезапустите приложение загрузки Spring и получите доступ к конечным точкам привода, используя:
http://localhost:8080/actuator/
за работоспособностью приложения также можно следить с помощью:
http://localhost:8080/actuator/health
требуется зависимость:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Add this Dependency:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-hal-browser</artifactId>
<version>3.3.5.RELEASE</version>
</dependency>`enter code here`
And then go to link:
http://localhost:8080/browser/index.html#
это сработало для меня
Приложения Spring Boot 2.2 должны использовать Spring-Data-Rest-Hal-Explorer, а не Spring-data-rest-hal-браузер
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-hal-explorer</artifactId>
</dependency>
Пожалуйста, предоставьте pom.xml и application.properties, это поможет нам узнать вашу конфигурацию и контекст.