Customizing Liferay: Developing in the Extension Environment
This section is intended as a guide for those who want to do extensive customization on top of Liferay Portal. The extension environment, also known as the ext environment, is a set of tools that allow developers to build portals and portlets on top of Liferay Portal. It can be seen as a Software Development Kit that is independent of any IDE but integrates well with all of them thanks to its usage of ant, the most popular and supported build tool. Another way to think about the extension environment is as a wrapper for Liferay's core source because, in most cases, it mirrors Liferay's core source directories (i.e. ext-impl/ for portal-impl/, ext-web/ for portal-web/). It allows you to develop on top of Liferay portal, like a platform, providing help when an upgrade to a new version of Liferay Portal is needed. The following instructions explain how to use the environment and are meant to keep custom code separated from the Liferay Portal code so that upgrades can be made easily.
The following instructions will help you get your development environment ready for working with the source code. These instructions are specific to setting up for deployment to Tomcat 5.5 using a MySQL database and developing with Java JDK 1.5. Liferay Portal version 5 requires JDK 1.5 or above, while 4.x is also compatible with Java 1.4. All versions work with a wide array of databases, application servers and containers. You will need to adjust your development environment according to your platform.