Liferay is a Gartner Magic Quadrant Leader for the Sixth Year! Find out why
« Back to Upgrade Instructions

Upgrade Instructions from 4.4 to 5.0

Prerequisite #

In order to upgrade to 5.0.X, you must start at 4.4.0 or above. If you are using a previous version, please see Upgrade Instructions (disambiguation) for instructions for other versions.

Basic Installation Outline #

  1. Undeploy the old version of Liferay, and then shut down your application server. For Tomcat, you'd delete the ROOT folder from <Tomcat Home>/webapps.
  2. Copy the new versions of the dependency .jars to a location on your server's classpath, overwriting the ones you already have for the old version of Liferay. For Tomcat, these are stored in <Tomcat Home>/common/lib/ext.
  3. Deploy the new Liferay .war file. This is different by application server. For Tomcat, you'd create a ROOT folder in <Tomcat Home>/webapps and unzip the .war file there.
  4. Start (or restart) your application server. Liferay should come up.

Changes to the ext environment #

If you develop custom extensions in the ext environment you will need to do a few upgrades. The ServiceBuilder .xml files have some new tags, check the DTD for information on these. The generated code is slightly different and custom written finders and LocalServiceImpl methods needs to be adopted. The and files have moved from ext-impl/classes to ext-impl/src.

Converting wiki pages (optional) #

If you were using the wiki portlet you'll be happy to find many new features and improvements in 5.0 and everything backwards compatible.

Nevertheless you may want to convert your existing pages from the old "Classic Wiki" syntax to the new "Creole" ( syntax because it's more powerful and easier to learn and use. To that end 5.0 includes an automatic translator that will convert all of the pages in the database to Creole. To run it edit portal(-ext).properties and set:


Start the server and let the process do the whole translation for you automatically. Remember to change those properties back to their original state before the next startup. They wouldn't do any bad but it would take more time :)

Upgrade Troubleshooting #

  • the parameter p_p_action is now called p_p_lifecycle, this has to be adapted for example in the FriendlyURLMappers if you want them to trigger an processAction()
  • you need to copy parent-build.xml in ext-impl from svn else some files will be missing when deploying
  • Upload in Struts portlets is broken, see and
0 Attachments
Average (0 Votes)
The average rating is 0.0 stars out of 5.