liferay6连接数据库等配置信息主要通过portal-ext.properties文件中覆盖portal.properties文件里面的设置信息。那么我们是怎么知道在portal-ext.properies文件中更改那,我分享一下我的学习经验。
我觉得一些好的框架或者产品他们的入口或者说配置的详情都在properties文件或者xml文件中,比如struts2,我们在配置struts.xml文件中的常量的名称和值,它的默认配置都是在struts2-core-xxxx.jar包org.apache.struts2包下的default.properties文件中。所以我在liferay绑定的tomcat的root\web-inf\lib\portal-impl.jar包中发现了portal.properties。在portal.properites文件中已经说的很清楚了,它推荐在portal-ext.properites文件中覆盖默认设置。并且liferay加载属性文件的顺序依次是 portal.properties, portal-bundle.properties, portal-ext.properties, portal-setup-wizard.properties.原文如下
##
## Properties Override
##
#
# Specify where to get the overridden properties. Updates should not be made
# on portal.properties or on portal-bundles.properties, but in
# portal-ext.properties.
#
# The default read order is: portal.properties, portal-bundle.properties,
# portal-ext.properties, and then portal-setup-wizard.properties.
#
include-and-override=portal-bundle.properties
include-and-override=${liferay.home}/portal-bundle.properties
include-and-override=portal-ext.properties
include-and-override=${liferay.home}/portal-ext.properties
include-and-override=portal-setup-wizard.properties
include-and-override=${liferay.home}/portal-setup-wizard.properties
这段代码说明portal-ext.properties文件可以放在默认目录下(即:ROOT\WEB-INF\classes),也可以放在${liferay.home }的下级目录下。
那么liferay.home是什么目录那?在portal.properties文件的331行有如下的代码:
auto.deploy.deploy.dir=${liferay.home}/deploy
从上面我们就知道了${liferay.home }是deploy目录的上级目录,而deploy目录恰好和tomcat的目录同级,也就是说我们的portal-ext.properties文件应该放在tomcat的同级目录下。tomcat就是从liferay官网下载的liferay-portal-tomcat-6.1.0-ce-ga1-20120106155615760.zip解压所得。
其实deploy目录也是你第一次启动tomcat的时候它在tomcat的同级目录下自动创建了deploy目录,下面是我的项目目录:
![](http://dl.iteye.com/upload/attachment/0084/1552/3c4a44d6-5ee0-3fe1-8330-acacbc36fe8a.png)
workspace目录下的结构为:
![](http://dl.iteye.com/upload/attachment/0084/1554/7653f6a1-0cbb-3350-911c-52eaea339e1b.png)
servers目录是eclipse中配置了liferay server后就生成了servers目录,bundles目录就是我自己创建的里面是liferay的tomcat环境,文件结构如下:
![](http://dl.iteye.com/upload/attachment/0084/1556/4a1fd601-f1ac-3763-8302-566eaabf2c8a.png)
结论:
在portal-ext.properties文件放在tomcat的同级目录下或者放在ROOT\WEB-INF\classes目录下。在第一次启动liferay完成安装后会生成portal-setup-wizard.properties文件,在这个文件里就明确的指出了liferay.home=F:/Liferay_Study/workspace/bundles 也就是tomcat的上级目录。