我正在尝试开发自定义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代码"简单"选项卡应该出现)
有什么想法吗?这与观点有关吗?
编辑:
刚检查浏览器控制台并看到404错误
GET http://localhost:8080/myhawtio/plugin/ 404 (Not Found)
我的自定义WAR似乎未正确重新配置
编辑2:
已下载并部署了clean hawtio-default-1.4.37.war - simple-plugin有效,"简单"标签是可见的
已下载并部署了clean sample-1.4.37.war - simple-plugin不起作用,tab不可见并且出现404错误
GET http://localhost:8080/sample-1.4.37/plugin 404 (Not Found)
答案 0 :(得分: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>
这意味着您应该在Apache Tomcat中将战争安装为simple-plugin
,例如将.war文件重命名为simple-plugin.war
答案 1 :(得分:1)
如果您获得404 for / hawtio / plugin,那么您在战争中错过了PluginServlet,或者至少它没有运行 - &gt; https://github.com/hawtio/hawtio/blob/master/hawtio-system/src/main/java/io/hawt/web/PluginServlet.java
这个servlet是前端发现任何额外插件加载的方式。我建议将您的web.xml与hawtio-web中的web.xml进行比较,并确保此类正在加载。