在osgi文件夹中复制后,Liferay 7 tomcat中的战争爆炸了

时间:2016-11-27 07:26:08

标签: liferay osgi liferay-7

我在liferay 7中部署了一个portlet,它已成功部署并可供使用。我想替换jsp文件,在早期版本中我可以在tomcat / webapps文件夹中看到我的应用程序并快速替换它。 现在我无法在liferay 7中找到爆炸的战争。我只能在osgi / war文件夹中看到战争。 有人可以帮助我。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

虽然我大多同意Olaf所写的内容,但我确实理解需要能够在JSP文件中进行更改并在开发过程中快速尝试。我担心我还没有解决方案。

但是,让我回答你问的问题:

  

在osgi文件夹中复制后,Liferay 7 tomcat中的战争爆炸了

它不是(至少不是应用程序服务器完成的方式)!在Liferay 7中部署WAR文件时,它会自动(动态)将其转换为OSGi包并将其安装在OSGi运行时中。现在,Liferay完全负责部署插件,而不需要依赖各种应用程序服务器。

请注意:每个捆绑包都有自己的状态文件夹。在Liferay中,那些在<LIFERAY_HOME>/osgi/state。如果您知道捆绑包ID,则可以轻松找到它。可能(我没有检查过)你会在那里找到一些JSP文件。我写这个的原因是警告你(如果你自己想的话)永远不要手动修改bundle的状态文件夹。这样做可能会制动整个环境。在更糟糕的情况下,您可能需要在干净的环境中重新部署所有内容。

答案 1 :(得分:1)

你不应该依赖这样的行为。在以前的版本中,应用程序服务器的任务是在运行时编译已更改的JSP。但是,这在生产系统中是不好的做法,并且完全搞砸了您的可维护性。如果您需要经常更新一些UI代码,我建议您更改实施以利用ADT(应用程序显示模板),例如通过Freemarker或Velocity。这些是在运行时更新的,其中JSP更新是Tomcat默认(开发友好,生产恶意)配置的副作用