用Jboss當作App Server用來運行Liferay Portal的方式跟Tomcat一樣很簡單,但若想跟Tomcat一樣直接掛在Eclipse底下運行就有一點不一樣,
主要是因為IDE-519這個Bug的關係(也不算Bug,應該算是尚不支援此功能),但還是可以用有點偷吃步的方法把它掛上去,以下紀錄standalone模式的架設方式;
一、 standalone運行模式
首先到Liferay官方網站下載Bundled With Jboss的Liferay Portal,這裡使用6.2.0版;
http://www.liferay.com/zh/downloads/liferay-portal/available-releases
下載完成之後一樣先解壓縮到指定目錄,接著有幾個地方須修改。
1.\liferay-portal-6.2.0-ce-ga1\jboss-7.1.1\modules\com\liferay\portal\main\module.xml
這個檔案指定了一些開啟server時要引入的檔案如.jar檔之類,日後也是在這裡增加。
2. \liferay-portal-6.2.0-ce-ga1\jboss-7.1.1\standalone\configuration\standalone.xml
這裡主要設定了database的資訊,以及使用的port、載入的timeout之類,有點像server.xml
有如下一段;
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
<connection-url>、<driver>、<user-name>、<password>這些地方可改成我們自己指定要使用的資料庫驅動程式及資訊,
如果有使用portal-ext.properties檔案去定義,則可以不用加入以上這些標籤定義,否則會衝到。
另外,可於<deployment-scanner>將timeout拉長為400以上。
3. portal-ext.properties
和tomcat的設定一樣,放置於\liferay-portal-6.2.0-ce-ga1\jboss-7.1.1\standalone\deployments\ROOT.war\WEB-INF\classes底下。
4. 指定Java jdk或jre路徑
編輯\liferay-portal-6.2.0-ce-ga1\jboss-7.1.1\bin\standalone.conf.bat (linux為standalone.conf)
如上圖所示,在JAVA_OPTS_SET的上方設定JAVA_HOME及OPTS相關設定,
-Djava.security.policy 及 -Djboss.home.dir 都是設定目前jboss的主目錄。
完成以上的設定之後,點選standalone.bat開啟server,應該就可以正常運作了!
二、Jboss掛載於Eclipse底下運行Liferay Portal
Liferay目前還沒有出一個正式的IDE是以Jboss來運行Liferay的,但其實做完步驟一的設定後,我們還是可以把Jboss掛到Eclipse上來,
首先開啟你的Eclipse,點選上方導覽鍵的Help -> Eclipse Marketplace 並搜尋Jboss Tools,我在這邊使用的是Kepler版本如下圖(依照你的Eclipse版本);
若無安裝過,就點選install,接著再一步步安裝就可以了,安裝完會重新啟動IDE。
重啟之後,我們就來新增一個Jboss的Server,安裝成功的話可以看到新增的選項裡多了新版的Jboss server如下;
我們只需要在Configure runtime environments裡面將此server的主目錄設定為剛才我們設定完成的Jboss目錄就可以;
完成之後,我們啟動server時它就會自動運行Liferay囉!
目前發現掛在Eclipse底下很容易發生記憶體不足的問題,還需要持續測試。
參考資料:
https://amdrill.wordpress.com/2012/08/25/liferay-portal-jboss-runtime-server-setup-in-eclipse/
http://www.liferay.com/zh/documentation/liferay-portal/6.2/user-guide/-/ai/installing-liferay-on-jboss-7-liferay-portal-6-2-user-guide-15-en
