我正在同时处理多个Liferay项目(不同的Portal,插件,用户和用户组等),并且经常需要在它们之间切换。此开关需要许多步骤,如
所以,我认为使用新的tomcat和JRE为每个项目创建一个新的服务器实例是个不错的主意。当我不得不切换项目时,我可以停止旧服务器并启动另一个服务器。起初,我认为(实际上是建议)使用相同的Liferay插件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项目?
答案 0 :(得分:3)
如果我们开始在公司开展新的Liferay项目,我们会设置:
只有这样,你才能确保完全独立的项目。要切换到另一个项目,只需关闭当前的Liferay服务器,启动新服务器并切换到Eclipse中的右侧工作区。这一切所需的时间不会超过2分钟,比共享工作区和服务器时必须执行的所有清理操作要少得多。
在我看来,这是大多数开发团队的方法。
答案 1 :(得分:3)
就个人而言,我使用自己的源,tomcat,数据库等设置每个项目,即使它意味着重复。这些天存储很便宜,这使得这成为可能。当然你的milage可能很多,但我想我会和你分享我的设置。
我有一个项目目录,其中包含我的所有项目:
/projects
/foo-project
/bar-project
/my-project
我有一个项目
/my-project
/tomcat
/bin
/conf
...
/src
/portal
... my portal source ...
/plugins
... my plugin source ...
/portal-ext.properties
portal-ext.properties
作为兄弟放在tomcat目录中,Liferay将读取此文件(假设默认行为)。这提供了快速简便的编辑,并可以确定如何设置每个项目。优点应该是明确的。你可以从一个项目“走开”到另一个项目,而不必拆除和设置。当你返回时,一切都会像你离开时一样。如果您想回答有关您尚未处理的项目的问题,上下文切换也会更快更有帮助。
根据每个项目的复杂程度,多实例可能不适合您。钩子和EXT可能会相互冲突,看起来好像你的项目就是这种情况。
如果你能负担得起的空间(这并不多),这是我作为Liferay开发人员找到的最快的方式。
答案 2 :(得分:3)
为什么要在一台计算机上搞乱所有这些并发症?我使用Oracle VirtualBox并为每个项目设置一个单独的VM。即使我在笔记本电脑上工作,它也有8个内核,我的内存高达16GB,并为每台机器设置了4GB内存。
我可以同时运行多个虚拟机,并将所有活动项目设置为Chrome中的主页。使用桥接网络,每个VM都有自己的IP地址,并且它们都在8080上监听。
另一个好处是,尽管我的主要项目是使用Eclipse Indigo和LR 6.1 CE GA1开发的,但我还有另一个使用Eclipse Juno,它的特定IDE插件和LR 6.1.1 CE GA2。所以它也可以作为一个新版本的测试人员。
VirtualBox是免费的。记忆很便宜。请记住,您可以在不关闭VM的情况下让VM进入睡眠状态。这需要大约10-20秒,然后再次唤醒需要30-60秒。
答案 3 :(得分:1)
最简单的解决方案是:
创建3个不同的用户,Liferay SDK的bundle.properties
文件对每个用户是独立的。因此,假设您想要使用相同的sdk运行3台服务器。创建3个文件,如
bundle.user1.properties bundle.user2.properties bundle.user3.properties
现在,当你想为服务器1部署一些东西时,使用user1登录服务器并尝试部署portlet,这将读取bundle.user1.properties,它将把portlet / hook部署到指定的位置。 / p>
希望这能解决您的部署问题。
此外,当你有3个用户时,你可以在不同的用户帐户中一起运行3个不同的服务器,这样,它们就是安全的,除了管理员,没有人可以关闭它。
希望这有帮助!