0

我正在尝试开发一个自定义 hawtio 插件。我在 Tomcat 中部署了基于 hawtio-default 1.4.37 的自定义 WAR。它工作正常

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

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

任何想法?和观点有关系吗?

编辑:

刚刚检查浏览器控制台并看到 404 错误

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

似乎我的自定义 WAR 未正确重新配置

编辑2:

下载并部署干净的 hawtio-default-1.4.37.war - simple-plugin 有效,“Simple”选项卡可见

下载并部署干净的 sample-1.4.37.war - simple-plugin 不起作用,选项卡不可见并出现 404 错误

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

2 回答 2

2

您必须确保使用与 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>

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

于 2015-01-14T06:26:25.043 回答
1

如果您为 /hawtio/plugin 获得 404,那么您的战争中缺少 PluginServlet,或者至少它没有运行 -> https://github.com/hawtio/hawtio/blob/master/hawtio -system/src/main/java/io/hawt/web/PluginServlet.java

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

于 2015-01-14T12:34:09.023 回答