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

Обновлено: приложен pom.xml и application.property и еще несколько сообщений об ошибках / предупреждениях

Привет, я новичок в Spring Boot и просто беру несколько уроков по Udemy.

Следуя классу, я создаю стартовый проект с помощью spring.io и добавляю зависимости от браузера и исполнительного механизма, включая инструменты Dev.

Просто запустил это и попытался перейти на localhost:8080/application & /browser, но я получаю 404.

Что я делаю неправильно.

Я написал простой bean-компонент, который возвращает жестко запрограммированное значение, а затем распечатал его, изменил значение, чтобы протестировать инструменты Dev, и он не перезапускал ресурс, мне пришлось убить и перезапустить приложение, чтобы отразить новые изменения.

Как я могу проверить, в чем проблема?

Если я могу предоставить Pom.xml и консоль захватить, если это будет необходимо.

Пожалуйста помоги.

Обновление: я не знаю значения следующего, поэтому помещаю это здесь.

в редакторе XML hal подчеркнут красным с указанием следующего сообщения при наведении

Управляемая версия - 3.0.5.RELEASE Управление артефактом в org.springframework.data:spring-data-releasetrain:Kay-SR5.

в редакторе XML devtools подчеркнут красным с указанием следующего сообщения при наведении курсора

Управляемая версия 2.0.0.RELEASE Управление артефактом осуществляется в org.springframework.boot:spring-boot-dependencies:2.0.0.RELEASE

    <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>

свойства приложения
logging.level.org.springframework = DEBUG
management.security.enabled = ложь

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 в вашем проекте, затем изменения в файлах в вашем classpath перезапустят сервер. Смотрите мои дальнейшие комментарии о том, как воспользоваться DevTools здесь.


Вот соответствующая документация на одной странице для удобного поиска:

      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-browser.

          <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-rest-hal-explorer</artifactId>
    </dependency>

Для включения привода добавьте это в файл свойств (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>

Разве вы не изучали курс "через 28 минут"? =) В любом случае, когда я изучал курс Spring Boot для начинающих за 10 шагов, я столкнулся с той же проблемой с доступомhttp://localhost:8080/application.

За http://localhost:8080/browser Я получил равнину json:

{"cause":null,"message":"Fragment must not be empty"}

В pom.xml У меня были те же зависимости, что вы указали в вопросе.

Некоторые поисковые запросы привели меня к этой статье. В разделе "II. Hal Browser" вы можете увидеть скриншот, на котором в браузере есть ссылкаhttp://localhost:8080/browser/index.html#. Если использовать эту ссылку, то должен волшебным образом появиться Hal Browser.

Так /index.html# был единственный кусок головоломки, который вы пропустили.

Примечание: вышеуказанный подход работал с Spring Boot версии 2.1.7.

РЕДАКТИРОВАТЬ: несмотря на то, что сам Hal Browser работает с вышеуказанным подходом, он по-прежнему не показывает конечные точки привода. И DevTools у меня тоже не работает.

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