The Java Software Bundle
The Java Software Bundle is an "all-in-one" installation of software for Java development and training. Its includes:
- Sun's Java Development Kit
- A web server/servlet engine (Tomcat)
- A J2EE server (the J2EE SDK)
- A database (Cloudscape)
- An integrated development environment (Eclipse)
- Other miscellaneous utilities (Ant, JUnit, XML support, etc).
There are three editions of the java software bundle:
| Edition | Bundle | Documentation | |
|---|---|---|---|
| Java 1.5 | JavaSE 5.0/J2EE 1.4 | [Download] | [Documentation] |
| Java 5.0 | Java SE 5.0/Java EE 5.0 | [Download] | [Documentation] |
| Java SE 6.0 | Java SE 6.0/Java EE 5.0 | [Download] | [Documentation] |
| Warning: Large downloads. Fast Internet access recommended. | |||
There are separate documentation downloads for each bundle, with the documentation for the software included in each bundle. To save space, you may choose not to download and install the documentation.
The editions support different versions of Java and Java EE.
- The Java 1.5 edition includes J2SE 5.0 and J2EE 1.4, for clients that have upgraded their Java version but not their Java EE version.
- The Java 6.0 Edition of the bundle currently uses Java EE 5.0, because Java EE 6.0 is still under development.
Installation
To setup the software bundle, you must meet the following system requirements:
- Operating System: Windows NT, 2000 or XP
- Minimum Processor: 500 Mhz PIII
- Minimum RAM: 256 MB
- Minimum hard-drive-space: 400-600 M (actual space used: 300-500 M).
Add another 400 M for documentation.
To set up this software:
- Unzip the software bundle into the root directory of a hard drive with enough space, such as "C:\" or "D:\".
- Double-click the rebuild.bat file.
- That's it!
To test this software:
- Navigate to the software\_starter-scripts directory.
- Run each script (start scripts before stop scripts). Make sure there are no errors. Close each window when you are done.
- If you know that some of the software is not going to be used, you do not need to test it.
Bundled Software
This software bundle is a zip file that includes:
- Readme.html
- The JDK (Java Design Kit) directory
- software.zip with all the software used by the course other than the JDK
- setEnv.bat, a batch file to set environmental variables for the software to run
- rebuild.bat, a batch file to build (or rebuild) all the bundled software.
The following software packages are included. Except as noted below, they use the default installation configuration.
General
- Moved all documentation to a separate documentation download to save space.
- Configured the environment and startup scripts using Windows batch files.
jdk1.5.0_06 [1.5/5.0 edition]
- Removed demos, includes and samples to save space.
- XML: Added XML jars (Xerces and Xalan) to jre/lib/endorsed folder.
- J2EE Configuration: Added jsb-configuration.jar to jre/lib/ext folder for J2EE server configuration.
jdk1.6.0_01 [6.0 edition]
- Removed demos, includes and samples to save space.
- J2EE Configuration: Added jsb-configuration.jar to jre/lib/ext folder for J2EE server configuration. @@@
tomcat-5.5.12 [1.5 edition]
- conf\server.xml: Reset HTTP and HTTPS ports to standard 80 and 443.
- conf\server.xml: Enabled (uncommented) SSL Connector.
- conf\context.xml: Enabled automatic servlet re-loading (<Context reloadable="true">).
- conf\web.xml: Enabled (uncommented) the invoker servlet and its URL Pattern "/servlet/*".
- common\lib: Installed Cloudscape JDBC drivers (db2jcc.jar).
- common\lib: Installed JSTL 1.1 libraries (jars renamed to be prefixed with "jstl").
- webapps: Removed examples web applications to reduce clutter.
- webapps: Moved tomcat-docs to documentation directory.
tomcat-6.0.13 [5.0/6.0 edition]
- conf\server.xml: Reset HTTP and HTTPS ports to standard 80 and 443.
- conf\server.xml: Enabled (uncommented) SSL Connector.
- conf\context.xml: Enabled automatic servlet re-loading and made default context privileged (<Context reloadable="true" privileged="true">).
- conf\web.xml: Enabled (uncommented) the invoker servlet and its URL Pattern "/servlet/*".
- lib: Installed Cloudscape JDBC drivers (db2jcc.jar).
- lib: Installed JSTL 1.1 libraries (jars renamed to be prefixed with "jstl").
- webapps: Removed examples web applications to reduce clutter.
- webapps: Moved tomcat-docs to documentation directory.
j2ee-sdk-1.4-v8.2 [1.5 edition]
- Also known as Sun Java Application Server 8.2
- During install: Admin username/password set to admin/password with "No prompt" option
- During install: HTTP and SSL set to ports 80 and 443.
- domains/domain1/config/domain.xml: Changed machine-name
to
localhost - domains/domain1/config/sun-acc.xml: Changed machine-name
to
localhostandC:/Sun/AppServerto%J2EE_HOME% - In all .bat files: changed
C:\Sun\AppServerandC:/Sun/AppServerto%J2EE_HOME% - config/asenv.bat: Changed
C:\Program Files\Java\jdk1.5.0_06to%JAVA_HOME% - Deleted appserv_uninstall.class, uninstall.exe and uninstall.dos.exe
- Updated config/asenv.bat using com.learninggain.jsb.Configurator in the rebuild.bat file.
j2ee-sdk-5.0.2 [5.0/6.0 edition]
- Also known as Sun Java Application Server 9.0.1
- During install: Admin username/password set to admin/password with "No prompt" option
- During install: HTTP and SSL set to ports 80 and 443.
- domains/domain1/config/domain.xml: Changed machine-name
to
localhost - domains/domain1/config/sun-acc.xml: Changed machine-name
to
localhostandC:/Sun/SDKto%J2EE_HOME% - In all .bat files: changed
C:\Sun\SDKandC:/Sun/SDKto%J2EE_HOME% - config/asenv.bat: Changed
C:\Program Files\Java\jdk1.5.0_06to%JAVA_HOME% - Deleted Install_Application_Server*.log, appserv_uninstall.class, uninstall.exe and uninstall.dos.exe
- Updated config/asenv.bat using com.learninggain.jsb.Configurator in the rebuild.bat file.
eclipse-3.3.0 [1.5/5.0/6.0 edition]
- The eclipse-start.bat specifies the JRE included in the bundle and the default workspace.
netbeans-6.0.m10 [1.5/5.0/6.0 edition]
- Standard install, excluding appserver and mobile module, with uninstaller (uninstaller.exe) removed.
- The netbeans-start.bat specifies the JDK used (
--jdkhome %JAVA_HOME%).
ant-1.7.0 [all editions]
- ant\lib: Added junit.jar (v3.8.1).
cloudscape-10.0 [all editions]
- docs: Moved docs to documentation directory.
- Uninstaller, demos: Removed uninstaller and demos to save space.
- In data: Create this directory to hold database data.
- In bin: Copied the batch files from "frameworks\NetworkServer\bin" and customized them for the java-software-bundle. This customization uses the %CLOUDSCAPE_HOME% environment variable, and puts logs and data files in the "data" directory.
History
- v07Q3: Rpgraded to Eclipse 3.3.0 [Europa] and Netbeans 6.0m10.
- v07Q2: Created 5.0 and 6.0 editions. Upgraded to Ant 1.7. For 1.5+ editions, upgraded to Eclipse 3.2.2/WTP 1.5.4 and Netbeans 6.0m9. For 5.0+ editions, added Tomcat 6.0.13 and Java EE SDK 5.0.2. For 6.0 edition, added jdk1.6.0_01.
- v06Q1: Upgraded 1.5 Edition to JDK 1.5.0_06, upgraded to Xerces 2.7.1, Xalan 2.7.0, Tomcat 5.1.12, latest J2EE SDK 1.4 (Sun Java System Application Server PE 8.2), Eclipse 3.1.1/WTP 1.0 (using wtp-all-in-one-sdk-1.0). Added netbeans 5.0.
- v05Q3: Upgraded 1.5 Edition to JDK 1.5.0_04, upgraded to Ant 1.6.5, Eclipse 3.1, Xerces 2.7, Tomcat 5.5.9, J2EE SDK 2005 Q2 UR 2 (AKA 8.1_02).
- v05Q1: Changed versioning scheme, added 1.5 Edition, reorganized batch files for better multi-edition support, split documentation by edition, added Cloudscape 10 to all Editions, upgraded to Eclipse 3.0.1, Tomcat 5.5.4 and J2EE SDK 2005 Q1.
- v1.2.3: Upgraded 1.4 edition to 1.4.2_05, Eclipse 3.0.0, Tomcat 5.1.27, latest J2EE 1.4 SDK (with Sun Java System Application Server Platform Edition 8.0.0_01 FCS). Modified starting scripts for Eclipse to use JRE in bundle.
- v1.2.2: Put src.jar and src.zip back into JDKs.
- v1.2.1: Upgraded to JDK 1.3.1_11/1.4.2_04, Ant 1.6.1, Eclipse 2.1.3, Tomcat 4.1.30/5.1.19, latest J2EE 1.4 SDK (with Sun Java System Application Server Platform Edition 8 FCS), Xerces 2.6.2, Xalan 2.6.0
- v1.2.0: Added support for J2EE-1.4/Tomcat-5.0 to the 1.4 edition. Cleaned up logic in batch files. Cleaned up directory names. Switched to .zip files rather than self-extracting archives. Removed JEdit.
- v1.1.1: Upgraded to JDK 1.4.2_02 and 1.3.1_09. Upgraded to Tomcat 4.1.29, Ant 1.5.4 and Eclipse 2.1.2.
- v1.1.0: Created second edition supporting JDK 1.4 as well as JDK 1.3. Upgraded Tomcat, Ant and Eclipse software to most recent versions. Added JEdit. Reorganized the HTML documentation, centralizing it in this Readme file.
- v1.0.2: Added XML jars (JAXP, Xerces and Xalan) to jre/lib/ext and removed Xalan from software directory and setEnv.bat.
- v1.0.1: Added security jars (JAAS, JCE and JSSE) to jre/lib/ext for JDK 1.3.
Trouble Shooting
Spaces in Directory Names
Java applications have a Unix bias and do not like having spaces in the paths. Be sure that the software bundle directory does not have any spaces in its directory name.
Security Settings
The batch files in the software bundle perform local updates to environmental
variables (PATH, CLASSPATH, etc.). The user for this
machine needs to have the necessary permissions to run batch files and update
environmental variables locally. They do not need permission to update
system environmental variables globally.
Other JVM Installed
Many applications will install their own JVM (JDK/JRE), which may conflict with the Software bundle's JVM. The Kit has been designed to minimize this possibility, but a pre-installed JVM may still conflicted with the bundle under some circumstances.
System Settings
The software bundles batch files rely on the OS and SystemRoot
environmental variables being set to normal values. If they are set to
non-standard values, you should uncomment those environmental values in the setEnv.bat
file. They should have the following values:
- OS: For Windows NT, 2000 and XP:
set OS=Windows_NT
- SystemRoot: This value should be the location where the Windows
system software is installed. This is normally:
set SystemRoot=C:\Windows
Port Conflicts
The server software in this software bundle uses various TCP/IP ports to process their requests. If the student machines have other server software installed, there may be port conflicts. If this is the case, you should temporarily disable the conflicting software.
Tomcat: Tomcat may conflict is with an existing web server. Microsoft Internet Information Server is the most likely culprit. Most web servers use port 80 and 443, which are also used by the Tomcat Server included in the software bundle.
Cloudscape: Cloudscape can conflict with other Java software using the RMI port 1099 for RMI lookup. This port is used by the Cloudscape database for JDBC calls.
J2EE Server: The J2EE Server can conflict with other CORBA orbs using the IIOP port 900 for the CORBA Naming service. The J2EE Server has an embedded orb using this port.
Technical Notes
This software setup is based on the fact that Java "programs" are really just files, and that the Java Runtime Environment (JRE) is simply a set of .exe programs. Nothing in Java world needs to touch on the Windows registry. Therefore Java programs can be "installed" simply by copying them to the machine's hard drive.
In practice, things are a bit more complicated, because Java's .exe programs
need to be in the system PATH. To facilitate this, the setEnv.bat
file sets up the system PATH and CLASSPATH, as well as
specifying environmental variables for the home directories of all the installed
software.
Java Commands
The setEnv.bat file defines environmental variables that invoke the various Java programs using their full path, to eliminate any possible conflicts with other installed JVMs. Thus, the batch files do not use the usual command to start the JVM:
javac MyClass.java
They use following command instead:
%javac% MyClass.java
There are similar %java%, %jar% and %javadoc%
environmental variables (look in setEnv.bat for a complete list). If you
wish to invoke Java commands from the command line, you will need to first run
the setEnv.bat file and then use these environment variable calls. The java-window.bat
will open a command-line environment with the environment variables properly
set.

