除了@joshiste:
您可以通过确保将资源添加到正确的目录来创建自定义插件。
admin 项目查找以下目录:
registry.addResourceHandler(adminServerProperties.getContextPath() + "/**")
.addResourceLocations("classpath:/META-INF/spring-boot-admin-server-ui/")
.resourceChain(true)
.addResolver(new PreferMinifiedFilteringResourceResolver(".min"));
registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.css")
.resourceChain(true)
.addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver,
"classpath*:/META-INF/spring-boot-admin-server-ui/*/module.css"))
.addResolver(new ConcatenatingResourceResolver("\n".getBytes()));
registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.js")
.resourceChain(true)
.addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver,
"classpath*:/META-INF/spring-boot-admin-server-ui/*/module.js"))
.addResolver(new PreferMinifiedFilteringResourceResolver(".min"))
.addResolver(new ConcatenatingResourceResolver(";\n".getBytes()));
所以确保你的 js/css 资源被添加到 /META-INF/spring-boot-admin-server-ui/etc 中。并具有正确的名称:module.js 和 module.css
更新看起来,不可能添加一个额外的选项卡来注入你的自定义插件。至少不是icw Angular,就像默认插件一样。这主要是因为 SBA 的所有模块和 js 依赖项在构建过程中都被缩小了,但自定义的没有,所以你会得到 JS 错误,例如:
require isn't defined
在自定义 module.js 的以下行:
var angular = require('angular');
所以我现在看到的唯一方法是分叉整个 SBA 项目并复制一个默认插件作为你自己的起点(例如应用程序指标)