Java 如何打包portlet+;主题+;Liferay中单个WAR/web应用程序的布局?
Java 如何打包portlet+;主题+;Liferay中单个WAR/web应用程序的布局?,java,jakarta-ee,web-applications,liferay,Java,Jakarta Ee,Web Applications,Liferay,ROOT应用程序包含所描述的所有项目(经典主题、大约10个布局和许多portlet) 这样创建自己的包是可能的还是良好的做法?怎么做 请给出一个提示。通常情况下,人们会在一场战争中添加所有Portlet,以便它们可以毫无问题地访问服务,并节省重新加载上下文的时间 然而,由于我们改变了主题,所以使用Portlet的主题可能并不总是一个好主意。。因此,在更新portlet时,在不必要的情况下重新加载portlet。好吧,这是每月一次,但仍然是一个声明,以保持Portlet远离战争主题 理论上,一个项
ROOT
应用程序包含所描述的所有项目(经典主题、大约10个布局和许多portlet)
这样创建自己的包是可能的还是良好的做法?怎么做
请给出一个提示。通常情况下,人们会在一场战争中添加所有Portlet,以便它们可以毫无问题地访问服务,并节省重新加载上下文的时间
然而,由于我们改变了主题,所以使用Portlet的主题可能并不总是一个好主意。。因此,在更新portlet时,在不必要的情况下重新加载portlet。好吧,这是每月一次,但仍然是一个声明,以保持Portlet远离战争主题 理论上,一个项目可以包含一个Portlet、主题、布局和一个钩子,所有这些都打包在一个项目中 但是,从维护和开发的角度来看,将这四种类型结合在一起并不是一种好的做法 尽管有时您可能在一个项目中有一个portlet和钩子,如果它们以某种方式相关,例如您希望有一些侦听器将数据添加到您的自定义表中,那么您的portlet将提供一个接口来更新或查看该数据,因此在这种情况下,它们是相互依赖的,并且如果portlet发生故障,钩子就没有用处。所以继续吧,把它们结合起来 因此,如果这4种类型以某种方式相互关联或相互依赖,那么我认为将它们结合在一起是一个用例(这将是罕见的),但从维护的角度来看,我宁愿将这4种类型分开。至少我会将Portlet和主题分开,并且可能有一个Portlet挂钩组合和一个主题布局组合,因为即使从维护和开发的角度来看,它们也很好地结合在一起 以下是您的操作方法
pluginsdk
,则项目可以位于pluginsdk
的portlets
文件夹中liferayhook.xml
用于钩子liferayportlet.xml
用于portletbuild.xml
文件,只需像平常一样构建即可build.xml
build.xml
中包含特定于主题的内容免责声明:我还没有尝试过第6点,但它应该能起作用理论上我认为这是可能的。但是,如果您将portlet、主题和布局打包在单独的.war文件中,那么维护就容易多了。