Installing Pluto into Sun Application Server (GlassFish)
This document is guide for the manually installation of Pluto 1.1.0 into Sun Application Server (Glassfish) v9.1. There are several tasks that must be done before getting Pluto configured and running. Those tasks are described in the following sections:
- Getting the Pluto Enterprise Application ARchive (
pluto-ear
) - Installing required libraries.
- Configuring Application Scope PortletSession attributes
- Configuring users and groups
- Packaging and deploying the Pluto Enterprise Application ARchive
Getting the Pluto Enterprise Application ARchive (pluto-ear)
You will find attached to this page a file called pluto-ear-1.1.0-beta2-src.tar.bz2
. This file contains the source code (which is only composed of XML files) for the Pluto Enterprise Application. This code and the packaged file are essential to achieve a successfully deployment of Pluto Portal into Sun Application Server.
Deploying pluto-portal
and pluto-testsuite
as separate web modules will fail because Sun Application Server doesn't allows crossing servlet context from one module to another one if they are not part of the same enterprise application.
Click in this link to download: pluto-ear
Unpack this file at the top folder of the Pluto source tree and modify the parent's pom.xml
to include the new project module.
<project> ... <modules> ... <module>pluto-ear</module> ... </modules> ... </project>
Installing required libraries
Step 1: Copy the following libraries to the domain's libraries folder ({${com.sun.aas.instanceRoot}/lib
}). By default: SUNWappserver/domains/domain1/lib
- castor-1.0.jar
- commons-logging-1.1.jar
- portlet-api-1.0.jar
- pluto-container-1.1.0-beta2.jar
- pluto-descriptor-api-1.1.0-beta2.jar
- pluto-descriptor-impl-1.1.0-beta2.jar
- pluto-taglib-1.1.0-beta2.jar
Step 2: Copy the following to {${com.sun.aas.instanceRoot}/lib/ext
}
- xercesImpl-2.6.2.jar
- xmlParserAPIs-2.6.2.jar
Configuring Application Scope PortletSession attributes
Create a file called sun-web.xml
with the following contents:
<?xml version="1.0" encoding="UTF-8"?> <sun-web-app> <session-config> <cookie-properties> <property name="cookiePath" value="/" /> </cookie-properties> </session-config> </sun-web-app>
Now copy this file the to the pluto-portal
and pluto-testsuite
projects inside its source tree. Its final location must be src/main/webapp/WEB-INF/sun-web.xml
Configuring users and groups
The easiest way to confiure users and groups is doing it from the Admin Console.
- Navigate on the menu to Configuration > Security > Realms > file.
- Click on the button Manage Users...
- Click on New...
The following form you must fill it with the following values:
- User ID: pluto
- Password: pluto
- Confirm Password: pluto
- Group List: pluto
Packaging and deploying the Pluto Enterprise Application ARchive
Now it's time to build the Pluto distribution with the new pluto-ear
inside of it:
mvn clean install
When this operations finish we obtain the file pluto-ear/target/pluto-ear-1.1.0-beta2.ear
. This file is the one that must be deployed to the Application Server.
- Navigate to Applications > Enterprise Applications
- Click on Deploy...
- Select the
pluto-ear-1.1.0-beta2.jar
file you just generated from your local hard drive and click on Next - Change Application Name to
pluto-ear
. Click on Finish.
Now write the following URL in your web browser http://localhost:8080/pluto
You should see the Pluto's login page.
FAQ
- I got a JasperException when I run the Pluto's test pages while admin and about pages run well.:
Explanation: This is an issue related to the castor's marshaller during the packaging of the pluto-testsuite
web module. This happens because when the web.xml
is written to pluto-testsuite/target/pluto-testsuite/WEB-INF
folder the new file misses the DOCTYPE declaration and, once deployed, GlassFish doesn't know which version of the spec is required for the pluto-testsuite
web module. So GlassFish fallsback to the the J2EE 1.3 Specification. In this spec., expression language (EL) is not defined so you get a JasperException per portlet when test pages are run.
Solution: To solve this you have to copy the following DOCTYPE
declaration to the target/pluto-testsuite/WEB-INF/web.xml
file:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
Then, you must pack the pluto-testsuite-1.1.0-beta2.war
web module manually, copy it to your Maven2 local repository. Run mvn install
from pluto-1.1.0-beta2-src/pluto-ear
folder and deploy the enterprise application using the admin console.