我正在同时处理多个 Liferay 项目(不同的门户、插件、用户和用户组等),并且经常需要在它们之间切换。这个开关需要很多步骤,比如
- 编辑 portal-ext.properties(更改 Liferay 数据库,并编辑一些自定义项目特定属性),并编辑“portal-setup-wizard.properties”
- 从 Eclipse 服务器实例中添加/删除 portlet 主题和挂钩,有时清理 Tomcat 的“数据”“Webapps”和“工作”文件夹
- 转到 Liferay 的控制面板/服务器/插件安装并重新索引 portlet,例如“用户和组织”或“文档和媒体”
因此,我认为使用新的 tomcat 和 JRE 为每个项目创建一个新的服务器实例是一个不错的主意。当我不得不切换项目时,我可以停止旧服务器并启动另一个。起初,我认为(实际上被建议)使用相同的 Liferay Plugins SDK(6.1.0)应该没问题,只要服务器实例是相同的版本。
实际上,这并不是 100% 完美的。虽然大部分工作已经完成,但这里和那里都有一些问题,比如没有正确部署主题,没有应用挂钩等。据我了解,有一些 [Liferay SDK] - [Liferay Server] 绑定,并且这意味着只有 1 个服务器(我创建的第一个)可以完全工作。例如,通过调查 [Liferay SDK 文件夹]/bild.[用户名].properties,我可以看到一些引用特定服务器/JRE 位置的属性:
app.server.portal.dir
app.server.lib.global.dir
app.server.deploy.dir
app.server.type
app.server.dir
所以,我的问题是,我应该如何处理多个 Liferay 项目?
- 多服务器实践是处理多个项目的好方法吗?
- 如果是,我应该为每个服务器创建不同的 SDK 吗?也许还有一个不同的 Eclipse 工作区?或者有什么方法可以使用相同的 SDK
- 使用不同 Liferay 版本的服务器怎么样?