首页 > 解决方案 > Spring Boot 管理员添加自定义选项卡

问题描述

我希望按照http://codecentric.github.io/spring-boot-admin/2.1.1/#customizing-custom-views-instance上的文档向 Spring Boot 管理服务器添加一个自定义选项卡

但是文档和示例项目https://github.com/codecentric/spring-boot-admin/tree/2.1.1/spring-boot-admin-samples/spring-boot-admin-sample-custom-ui没有似乎有助于理解如何去做。

我通过阅读文档和示例的理解是 ui 是一个单独的模块。

我似乎缺少的部分是如何将它们捆绑在一起 ui 模块和 Spring Boot 管理服务器并为它们提供服务。

这是我迄今为止尝试过的:https ://github.com/anandsunderraman/custom-spring-boot-admin/tree/master

标签: user-interfacespring-boot-admin

解决方案


是否成功尝试在 Spring Boot Admin Server 中添加自定义选项卡。

先决条件:

  • 必须安装 npm/node 并添加到 $PATH
  • 节点版本必须 > 8.0.0。
  • 如果没有,则从NodeSite下载最新的节点
  • Spring Boot Admin 版本 2.1.1
  • 处于工作状态的管理员/客户。

遵循以下步骤(生成-构建自定义 UI/在服务器中集成自定义 UI/在客户端实现端点):

生成/构建自定义 UI:

  1. 在本地检查了spring-boot-admin-custom-sample-ui。我以样品一为例
  2. cd <spring-boot-admin-custom-sample-ui-directory>
  3. 运行命令npm install
    • 上面的命令将安装所有包。您可能会收到很少的警告(对于对等依赖项),因此请尝试通过npm install package-name@version-number手动安装()对等依赖项来解决它们。这些是 npm 包依赖。
  4. 在 Intellij 中导入项目并运行 maven install 命令。
    • 这将执行exec-maven-plugin并创建一个 target/dist 目录。如果出现任何错误,请尝试解决该问题。我遇到了一些错误,例如找不到节点版本问题/vue-template-compiler。
    • 如果出现 vue-template-compiler not found 错误,则执行npm install vue-template-compiler@2.5.16
    • 一旦 maven 安装完成,它应该生成新的自定义选项卡所需的 UI。现在这需要集成到 Admin Server 中。Maven install 也将安装spring-boot-admin-sample-custom-ui在本地 repo 上。

在管理服务器中集成客户 UI

  1. 只需在 application.properties 中添加新属性(为了注入新的 UI):

    spring.boot.admin.ui.cache.no-cache=true

    spring.boot.admin.ui.extension-resource-locations=file:spring-boot-admin-sample-custom-ui-directory-path/target/dist/

    spring.boot.admin.ui.cache-templates=false

  2. spring-boot-admin-sample-custom-ui在服务器 pom.xml 中添加依赖项。这是建立在第 4 步之上的。

  3. 启动管理服务器。

在客户端实现端点:

  1. 添加以下端点:

    @Endpoint(id = "custom") public class CustomEndpoint { @ReadOperation public String getHello(){ return "Hello" ; } }

    @Bean public CustomEndpoint customEndpoint() { return new CustomEndpoint(); }

  2. 启动客户端。您应该在 Server 上看到如下内容: 新添加的自定义选项卡

这都是关于样本终点的。您可以编写自己的视图并按照类似的步骤操作。视图必须作为 Vue.js 组件实现。

希望这将简化在 spring boot admin 中添加新的自定义选项卡的过程。


推荐阅读