Building a Tomcat Bundle from Liferay Source

Few steps for creating your own tomcat bundle from Liferay Source.

  • Extract plain  tomcat .
  • Rename apache- tomcat-7.0.23  to tomcat-7.0.23(tomcat-[version]).
  • Download/checkout liferay source from https://lportal.svn.sourceforge.net/svnroot/lportal/portal/.
  • Import this in eclipse
  • Create app.server[userName].properties in portal-trunk(userName-User Name of your PC)
  • Override three properties in above file
  1. app.server.parent.dir =Parent directory path of tomcat
  2. app.server.tomcat.portal.dir=Absolute path of portal-trunk/portal-web/docroot
  3. app.server.tomcat.version=tomcat version

Eg. Suppose your source code in C:/WorkSpace folder & tomcat in C:/deployment folder with name tomcat-7.0.23.

  1. app.server.parent.dir =C:/deployment (don’t consider tomcat-7.0.23 in this path)
  2. app.server.tomcat.portal.dir = C:/WorkSpace/portal-trunk/portal-web/docroot
  3. app.server.tomcat.version =7.0.23
  • Then build ant all.
  • If it will throw out of memory then set VM arguments to -Xms512m or more

Right click of build.xml -> Run As -> 2 Ant Build -> JRE here you will find VM arguments.

  • Copy & replace catalina.properties from liferay bundle/conf  to tomcat/conf
  • Create portal-ext.properties in \tomcat-[version]\webapps\ROOT\WEB-INF\classes

Copy following configurations in portal-ext.properties

  1. jdbc.default.driverClassName=com.mysql.jdbc.Driver
  2. jdbc.default.url=jdbc:mysql://localhost/[ DN_NAME]?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
  3. jdbc.default.username=root
  4. jdbc.default.password=root

change properties as per your database.

 

Blogues
This is wrong:
app.server.tomcat.portal.dir = C:/WorkSpace/portal-trunk/portal-web/docroot
Indeed,
app.server.tomcat.portal.dir = C:/WorkSpace/portal-trunk/portal-web/docroot
is wrong. If you add that, the ant build will not override the files for the ROOT plugin into the Tomcat distribution, and you will end up with a Tomcat that will show the default (Tomcat's) start page. Just omit the app.server.tomcat.portal.dir setting. The other settings are good.