Hawtio 简单插件示例 - 选项卡不可见

Hawtio simple plugin example - tab is not visible

我正在尝试开发自定义 hawtio 插件。我根据 hawtio-default 1.4.37 在 Tomcat 中部署了自定义 WAR。它工作正常

我按照 https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/simple-plugin 指令构建了 simple-plugin.war(未进行任何更改)并将其部署在同一个 Tomcat 中。

没有错误,所有日志都是干净的,我可以在 JMX bean 中看到 simple-plugin 作为 hawtio 的插件,但是没有新的选项卡可见(尽管我从 .js 代码 "Simple" 选项卡中猜测应该出现)

有什么想法吗?跟视角有关系吗?

编辑:

刚刚检查了浏览器控制台,发现 404 错误

GET http://localhost:8080/myhawtio/plugin/ 404 (Not Found)

看来我的自定义 WAR 没有正确重新配置

编辑 2:

已下载并部署干净的 hawtio-default-1.4。37.war - 简单插件有效,"Simple" 选项卡可见

已下载并部署 clean sample-1.4。37.war - 简单插件不起作用,选项卡不可见并出现 404 错误

GET http://localhost:8080/sample-1.4.37/plugin 404 (Not Found)

您必须确保使用与 web.xml 文件中配置的名称相同的名称安装简单插件。

在 web.xml 中,上下文路径是在您从以下位置构建示例时设置的: https://github.com/hawtio/hawtio/blob/master/hawtio-plugin-examples/simple-plugin/src/main/resources/WEB-INF/web.xml#L14

默认生成为

<context-param>
    <description>Plugin's path on the server</description>
    <param-name>plugin-context</param-name>
    <param-value>/simple-plugin</param-value>
</context-param>

所以这意味着您应该在 Apache Tomcat 中将 war 安装为 simple-plugin,例如将 .war 文件重命名为 simple-plugin.war

如果您为 /hawtio/plugin 收到 404,那么您缺少 war 中的 PluginServlet,或者至少它不是 运行 -> https://github.com/hawtio/hawtio/blob/master/hawtio-system/src/main/java/io/hawt/web/PluginServlet.java

这个 servlet 是前端发现要加载的任何其他插件的方式。我建议将您的 web.xml 与来自 hawtio-web 的 web.xml 进行比较,并确保此 class 正在加载。