3

I am looking for a bit of Liferay/Glassfish assistance here.
I am currently using a Liferay 6.0.6 portal running on Glassfish 3.0.1 and developing in Eclipse 3.7 (Indigo). I have downloaded the Liferay IDE for Eclipse as well. The trouble I am having is in actually developing in Eclipse against a Glassfish server. I cannot create an actual Liferay project in Eclipse because the wizard requires me to specify a Liferay-Tomcat runtime environment. The Liferay IDE requires Tomcat

Now I realize that this is the only server that is supported for the Liferay IDE as it is clearly documented in multiple places on the Liferay website and various forums around the web. However, I seem to recall one site (which, of course, I didn't bookmark :/ ) that gave instructions on a workaround for using Glassfish within the Liferay IDE. I believe it had something to do with creating the initial project as a Tomcat project, then going behind the scenes and changing some configuration files' Tomcat references to point to my Glassfish server.
I have set up my Liferay SDK environment correctly, including the build.username.properties file. I have this file pointing to my Glassfish server.

#
# Specify the paths to an unzipped Glassfish bundle.
#
project.dir=C:\\DEV\\myworkspace
app.server.type=glassfish
app.server.dir=${project.dir}\\..\\bundles\\liferay-portal-6.0.6\\glassfish-3.0.1
app.server.deploy.dir=${app.server.dir}\\autodeploy
app.server.lib.global.dir=${app.server.dir}\\domains\\domain1\\lib
app.server.portal.dir=${app.server.dir}\\domains\\domain1\\applications\\liferay-portal

However, everytime I try to do a deploy through Eclipse... Using the Liferay SDK deploy target ...this build.username.properties file gets overwritten with Tomcat settings from the runtime environment.

app.server.type = tomcat
app.server.dir = C:\\DEV\\bundles\\liferay-tomcat-6.0.6\\tomcat-6.0.29
app.server.deploy.dir = C:\\DEV\\bundles\\liferay-tomcat-6.0.6\\tomcat-6.0.29\\webapps
app.server.lib.global.dir = C:\\DEV\\bundles\\liferay-tomcat-6.0.6\\tomcat-6.0.29\\lib\\ext
app.server.portal.dir = C:\\DEV\\bundles\\liferay-tomcat-6.0.6\\tomcat-6.0.29\\webapps\\ROOT

Is there somewhere else that I need to make a change in order to get Eclipse to recognize my Glassfish server?
Any help or tips would be greatly appreciated.

gamerson
  • 5,220
  • 1
  • 28
  • 45
CatsAndCode
  • 377
  • 9
  • 27

1 Answers1

5

It is not currently possible to use a Liferay+Glassfish bundle directly as a runtime or server adapter in Eclipse with the Liferay IDE plugins. As you pointed out the only runtime and server adapters for Liferay IDE are the tomcat bundles. However, you can still use Liferay IDE to develop with Glassfish by using the following receipe with version 6.0.6 and current version of Liferay IDE.

  1. Download Liferay+tomcat bundle
  2. Configure it as a Liferay runtime
  3. Create the project pointing to Liferay runtime
  4. Go to Window > Preferences > Liferay > Installed SDKs, switch "update build.properties" option to Never
  5. Launch Glashfish externally using startup script
  6. Modify the build.properties in your SDK to point to Glasshfish as runtime
  7. For deployment use the SDK deploy action just as you showed and it should be deployed to glassfish.

This should work for now. In the future, we will be adding support for Glassfish server to our Server Manager plugin that can be using with Liferay IDE and Liferay 6.1 for remote deployment and development, so it will work just like a local tomcat instance except it will be remote Liferay running on glassfish or jboss, or whatever you like. But right now the Server manager plugin in 6.1 beta4 only supports Tomcat6/7 and Jboss7. We hope to add Glassfish very soon.

gamerson
  • 5,220
  • 1
  • 28
  • 45
  • Hey Greg, Thanks for taking the time to answer my question. A Liferay IDE answer doesn't get much more authoritative than from you. :) Initially, Eclipse didn't seem to be honoring the "Update build..properties before SDK is used" option. Every deploy would result in the this file getting overwritten with data from the Tomcat Server Runtime information. I ended up just deleting the "Installed Liferay SDK" entry I had and creating a new one. Now everything works fine. Previously, I had checked the option to have a .project file created, so I deleted that this time around as well – CatsAndCode Dec 09 '11 at 21:02
  • 2
    A quick update, we have just added support for glassfish to the server-manager plugin that can be used with Liferay IDE to remotely deploy to glassfish. http://issues.liferay.com/browse/LPS-23979 this will be a 6.1 feature only though. – gamerson Dec 10 '11 at 05:46