This page serves as additional release notes about 2.6.0 GA. It is intended as a supplement to the releaseNotes.html accompanying the release.
Problems developing uPortal 2.6.0 GA on Netbeans using ANY OS (was Mac OS X)
uPortal 2.6.0 requires Xalan 2.7.0. (This isn't actually a particularly strong requirement – you could retrofit it to use a different Xalan relatively easily, at the cost of no longer being on the default and preferred Xalan.) Apparently it is difficult to get NetBeans to cope with Xalan 2.7.0.
Netbeans 5.5(.1) comes with a bundled version of Tomcat (5.5.17). This is convenient as it offers developers an easy out-of-the-box solution for developing web applications. However it is problematic with uPortal 2.6.0 GA. Netbeans includes 2 additional jars in the common/endorsed
directory in the bundled Tomcat (xml-apis.jar and xercesImpl.jar) that are not included with Tomcat as it is downloaded from Apache.
The Work-Around
Work-Around #1: Installing a Tomcat and registering it with Netbeans
You can use Netbeans 5.5.1 with uPortal 2.6.0 on JDK 1.5 by following these steps:
- Download and unzip a 5.5.x version of Tomcat to a directory of your choice (say C:\tomcat\apache-tomcat-5.5.23)
- Edit the tomcat-users.xml file in the conf directory to add a manager role and a user for that role. For example, you can add the lines:
<role rolename="manager"/> <user username="uportal" password="tomcat" roles="manager"/>
- In Netbeans, add the tomcat server.
- Open the Runtime view (Window | Runtime from the main menu or Ctrl+5).
- On the Servers node, right-click and select "Add Server...". This will start the "Add Server Instance" wizard.
- In the "Add Server Instance" dialog, choose Tomcat 5.5 from the "Server:" combobox
- In the "Name:" field, enter a name for your Tomcat instance (e.g. uPortal 2.6.0GA in Tomcat 5.5.23).
- Click the "Next > " button.
- In the "Add Server Instance" dialog, enter the path to your Tomcat install in the "Catalina Home:" field.
- If you want to specify a separate directory for your Catalina Base directory, check the "Use Private Configuration Folder (Catalina Base)" checkbox.
- Enter the name of the manager you entered in your tomcat-users.xml file in the "Username:" and "Password:" fields.
- Click the "Finish" button.
- You will see your new server instance under the "Servers" node in the "Runtime" view.
- Set up uPortal as a web project in Netbeans. See Gregg Sporar's 4-part series for configuring uPortal to take advantage of Netbeans' IDE features. There are some Tomcat items that don't apply with the current version of uPortal.
- Open the Files view (Window | Files from the main menu or Ctrl+2).
- Open the
build.properties
file. - Set the
server.home
andserver.base
properties and save the file. - Run the initportal target.
- Start the new Tomcat instance in Netbeans from the Runtime view.
- Expand the Tomcat instance node and then expand the "Web Applications" node. Right-click on uPortal and select "Open in Browser"
From here, you can start using uPortal as usual.
Work-Around #2: Modify Netbeans Bundled Tomcat Files.
This option is a little riskier as the bundled Tomcat has been set up for maximum possible backward compatibility with previous JDKs. The changes described here should be made so that they can be rolled back easily if you run in to trouble with other development projects.
- Locate the
setclasspath.sh
file on Unix based systems orsetclasspath.bat
for Windows based systems in the$NETBEANS_HOME/enterprise3/apache-tomcat-5.5.17/bin
directory. - Edit this file as follows:
- For
setclasspath.sh
, find the following block:and change it to# enable the compatibility pack if starting on JDK 1.4 if [ "$NB_TOMCAT_JDK" = "1.4" ]; then # Set the default -Djava.endorsed.dirs argument JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed fi
# enable the compatibility pack if starting on JDK 1.4 # if [ "$NB_TOMCAT_JDK" = "1.4" ]; then # Set the default -Djava.endorsed.dirs argument JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed # fi
- For
setclasspath.bat
, find the following block:and change it torem enable the compatibility pack if starting on JDK 1.4 if not "%NB_TOMCAT_JDK%" == "1.4" goto noEndorsed rem Set the default -Djava.endorsed.dirs argument set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
rem enable the compatibility pack if starting on JDK 1.4 rem if not "%NB_TOMCAT_JDK%" == "1.4" goto noEndorsed rem Set the default -Djava.endorsed.dirs argument set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
- For
- In the
$NETBEANS_HOME/enterprise3/apache-tomcat-5.5.17/common/endorsed
renamexml-apis.jar
andxercesImpl.jar
to something without a.jar
extension. - Restart Netbeans.
- Set up uPortal as a web project in Netbeans. See Gregg Sporar's 4-part series for configuring uPortal to take advantage of Netbeans' IDE features. There are some Tomcat items that don't apply with the current version of uPortal.
- Open the Files view (Window | Files from the main menu or Ctrl+2).
- Open the
build.properties
file. - Set the
server.home
andserver.base
properties and save the file. - Run the initportal target.
- Start the bundled Tomcat instance in Netbeans from the Runtime view.
- Expand the Tomcat instance node and then expand the "Web Applications" node. Right-click on uPortal and select "Open in Browser"
From here, you can start using uPortal as usual.
Netbeans Response
An issue was filed with the Netbeans development team regarding this. As it turns out, the extra jar files are in the common/endorsed
directory for backward compatibility with JDK 1.4 and below. When Netbeans is used with a JDK newer than 1.4, the endorsed directory is not being read, hence the error message that Xalan 2.7.0 can't be found. Netbeans 6.0 comes with an unmodified Tomcat 6 meaning that there is no undocumented or unexpected behavior like this to maintain any kind of backward compatibility. You will need to follow the work-around steps if you want to use Netbeans with uPortal.