当前位置: 首页 > 知识库问答 >
问题:

(WAR)未找到Spring Boot Admin自定义视图

孔光赫
2023-03-14

一旦作为WAR部署到Tomcat中,我自定义的SBA仪表板就无法显示最初在JAR中表现良好的自定义视图(但现在也失败了,顺便说一句)

这是WAR中扩展目录的位置:/WEB-INF/classes/META-INF/spring boot admin server ui/extensions/customz/。。。

REM:我还定制了登录页面,我的图片位于/WEB-INF/classes/META-INF/spring boot admin server ui/assets/img/所以我想类路径不是问题所在。

尽管如此,我在网络浏览器的控制台上还是有一个错误:GEThttp://xx.xx.xx.xx:8080/extensions/customz/css/custom.fb3a4f29.css::ERR_ABORTED404

雷:根据我的上下文路径,正确的路径应该是:http://xx.xx.xx.xx:8080/myapp/dashboard/extensions/customz/css/custom.fb3a4f29.css

server.servlet.context-path=/myapp
spring.boot.admin.context-path=/dashboard

...

<packaging>war</packaging>
<build>
<finalName>myapp</finalName>
...
</build>

但在这种情况下,我不知道如何更改视图的基本路径。我只需要在系统前面加上“customz/dashboard”上下文路径(?)

请问,有人知道如何摆脱这个陷阱吗?

注意:Spring Boot 2.2.8,Spring Cloud Hoxton. SR5,SBA 2.2.3,Tomcat 9.0.36

共有1个答案

洪捷
2023-03-14

AdminServerUiAutoConfiguration声明扩展的资源处理程序(将上下文路径/extensions/**映射到上面的类路径,正如我之前尝试可视化自定义JS和CSS时所发现的。请记住,spring.boot.admin.ui.extension-resource-locations默认值为classpath:/META-INF/spring boot admin server ui/extensions/,这在我的情况下似乎很好。这确认了自定义视图已正确公开。)。

因此,这将我们引向sping-boot-admin-server-用户界面/src/main/前端/index.html,其中所有路径似乎都是绝对的!

<th:block th:each="cssExtension : ${cssExtensions}">
    <link rel="preload" th:href="'/extensions/' + ${cssExtension.resourcePath}" as="style">
</th:block>
<th:block th:each="jsExtension : ${jsExtensions}">
    <link rel="preload" th:href="'/extensions/' + ${jsExtension.resourcePath}" as="script">
</th:block>
<th:block th:each="cssExtension : ${cssExtensions}">
    <link th:href="'/extensions/' + ${cssExtension.resourcePath}" rel="stylesheet">
</th:block>
<link rel="shortcut icon" th:href="${uiSettings.favicon}" type="image/png">
<title th:text="${uiSettings.title}">Spring Boot Admin</title>
...
<script lang="javascript" src="sba-settings.js"></script>
<th:block th:each="jsExtension : ${jsExtensions}">
<script lang="javascript" th:src="'/extensions/' + ${jsExtension.resourcePath}"></script>
</th:block>

我想这两点都应该添加servlet和admin ui上下文路径,以便保存扩展。最快的方法可能是在索引中找到相对的URL。html

所以我就这么做了。。。git在tag 2.2.3上克隆SBA,进行更改并安装它,将我的服务器的父服务器更改为SNAPSHOT,然后将WAR重建为Tomcat。等等。

 类似资料:
  • 问题内容: 这是我的代码: 我收到错误消息: 当我删除第一行时,我得到: 我到处搜索,人们到处都提到了Node.js的问题,但是我安装的Node是正确的,所以我不确定是什么问题。 问题答案: XMLHttpRequest是 Web浏览器中 的内置对象。 它不随Node一起分发;您必须单独安装它, 用npm安装 现在,您可以在代码中使用它。 var xhr = new XMLHttpRequest(

  • 我有通用的基本存储库定义如下: 我的ICustomRepostory存储库接口定义如下: 现在当我使用基本存储库时: 当我在我的服务类中自动连线 OrdeRepository 时,它给了我编译错误: 引起:org.springframework.beans.factory.BeanCreationExc的:错误创建bean的名称'OrderRepostion'定义abc.example.在@Ena

  • 您需要创建一个通用的JpaRepository,以便处理系统进行的所有事务。在这里遵循这个示例。 它与实现有点不同,因为我的目标不是执行搜索,而是操作save方法。 unsatisfiedDependencyException:创建名为“sistema menuservice”的bean时出错:通过字段“sistema menurepository”表示未满足的依赖关系;嵌套异常是org.spri

  • Log4j2-LogManager。getLogger(“名称”)未找到自定义记录器。 以下所有操作都返回相同的记录器,即此代码所在类的根记录器。我想这些都会有所不同,我会在前3个电话中拿回我的3个定制电话。注意:将创建appender指定的文件,但不会向其发送日志。 我使用以下方法创建自定义记录器: writeXmlConfiguration中的等效XML为:

  • 英文原文:http://emberjs.com/guides/views/customizing-a-views-element 视图在页面上表现为一个单一的DOM元素。通过修改tagName属性,可以改变视图生成的元素的类型。 1 2 3 App.MyView = Ember.View.extend({ tagName: 'span' }); 另外,还可以通过设置一个字符串数组到clas

  • New in Django 1.7. Django为过滤提供了大量的内建的查找(例如,exact和icontains)。这篇文档阐述了如何编写自定义查找,以及如何修改现存查找的功能。关于查找的API参考,详见查找API参考。 一个简单的查找示例 让我们从一个简单的自定义查找开始。我们会编写一个自定义查找ne,提供和exact相反的功能。Author.objects.filter(name__ne