JSR 286 规范是否要求在包含 portlet 的 WAR 中存在 web.xml
文件?起初,我是这么认为的,但后来我创建了一个没有 web.xml
的 portlet,将其部署在 Liferay 中,并且它完美地工作了。那么它是Liferay的扩展(或bug),还是不需要有这样的文件?
最佳答案
正如 Olaf 所说,portlet 只不过是一个 Web 应用程序。 Liferay 有一个监听器,当 portlet 自动部署时会触发该监听器。它引发了 war 并添加了 web.xml 和必要的内容。如果有源码的话可以检查一下逻辑。类名称为 PortletDeployer,方法为 getServletContent。添加 web.xml 并填充它之后,他们只需使用 FileUtil.touch 触摸它即可。
关于java - JSR-286 portlet 是否需要在其 WAR 文件中包含 web.xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749818/