Ни Spring Boot Actuator + Hal-Browser, ни DevTools не работают

Обновлено: Прикрепленные 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

Пожалуйста, предоставьте pom.xml и application.properties, это поможет нам узнать вашу конфигурацию и контекст.

Mahesh_Loya 18.03.2018 17:24

надеюсь теперь информация будет более полезной, я добавил оба

Ankur Saxena 18.03.2018 19:06
stackoverflow.com/questions/48503571/…
yash hajela 23.07.2020 21:00
5
3
3 997
5

Ответы 5

Примечание. Этот ответ основан на 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.

Brent Bradburn 24.04.2018 22:20

Разве вы не изучали курс «через 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#

это сработало для меня

Omid Rostami 26.01.2021 07:09

Приложения 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>

Другие вопросы по теме