在osgi文件夹中复制后,Liferay 7 tomcat中的战争在哪里爆发

在osgi文件夹中复制后,Liferay 7 tomcat中的战争在哪里爆发,liferay,osgi,liferay-7,Liferay,Osgi,Liferay 7,我在liferay 7中部署了一个portlet,它成功部署并可供使用。我想替换jsp文件,在早期版本中,我可以在tomcat/webapps文件夹中看到我的应用程序并快速替换它。 现在我无法找到liferay 7中爆炸的战争。我只能在osgi/war文件夹中看到战争。 有人能帮我吗。 提前谢谢。你不应该依赖这样的行为。在以前的版本中,应用服务器的任务是在运行时编译更改的JSP。然而,这在生产系统中是一种不好的做法,并且完全破坏了您的可维护性。如果您需要经常更新一些UI代码,我建议您更改实现以利

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

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

虽然我基本上同意Olaf所写的内容,但我确实理解能够在JSP文件中进行更改并在开发过程中快速尝试的必要性。恐怕我还没有解决这个问题的办法

不过,让我回答你提出的问题:

在osgi文件夹中复制后,Liferay 7 tomcat中的战争在哪里爆发

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


请注意:每个包都有自己的状态文件夹。在Liferay中,它们处于
/osgi/state
状态。如果您知道bundle ID,您可以很容易地找到它。可能(我没有检查)您会在那里找到一些JSP文件。我写这篇文章的原因是警告您(如果您自己计算的话)不要手动修改bundle的state文件夹。这样做可能会破坏整个环境。在更糟糕的情况下,您可能需要在干净的环境中重新部署所有内容。

谢谢您的回复。我想我们必须适应新的ADT。我同意JSP是timcatThe的一个副作用Liferay IDE团队正在为Liferay 7.0开发这样的功能:。如果你感兴趣,请投票支持这个问题。