CSE logo University of Washington Computer Science & Engineering
 CSE 403 Wi 03 - Software
  CSE Home   About Us    Search    Contact Info 

CSE 403
 Home page
 Guest Speakers
 Other Links
 Phone UploadCSE only
Email list
    Software Tools

The software packages for this class are installed in the CSE labs. The download links provided here are only needed if you are doing the course work on some other system.


Download the installer from the Sun web pages (java.sun.com/j2se/). Install Java in a directory where the pathname has no spaces; don't use C:\Program Files\jdk141.

Java SDK sources and documentation

The source files for the class libraries are provided in the SDK download in a zip file. Sun also provides excellent documentation for all the class libraries. I strongly recommend that you download and install the documentation.

J2ME Wireless Toolkit

The projects for this class will be built in part using the Wireless Toolkit from Sun. There is a special set of class libraries for compiling and running applications on small devices like cell phones. The Wireless Toolkit contains most of the required additional software and documentation. Download it at the Wireless Toolkit home page. We will probably use the 1.0.4 release in conjunction with the Mobile Media API emulator described next.

Mobile Media API

Some projects may use audio/video capabilities on the target device. The required emulator add-on for the WTK is available for download from the Mobile Media API home page.

Apache Ant

Apache Ant is a Java-based build tool. "In theory, it is kind of like Make, but without Make's wrinkles." Of course, it has wrinkles of its own. I am using Ant 1.5.1, available from the Ant home page.

Antenna, Ant tasks for wireless development

Update January 14 (revised)

I believe that the Antenna problem has been found and fixed. Certain Ant copy tasks were not getting done if the filestamps on various files were too close in time, which happens more frequently if you are running a fast machine. There is a new revision of the antenna jar file provided below.

The name of the new file (antenna-bin-r3.jar) is different from the old name (antenna-bin.jar) so that you can tell them apart. I suggest that you download the new jar file and move it to the Ant lib directory, then delete the old one that is in your Ant lib directory. Then if you are using jEdit or another tool that needs to know the name of the jar file, go and adjust the setting to point to the new file. Then you should be able to run Ant and, if you like, jEdit and Antfarm without error.

Note that some of the problems people had were related to configuration issues, not Antenna, and this change will not fix those problems.

Download local copy: antenna-bin-r3.jar. Place this jar file with your Ant installation in subdirectory lib. For example, on my system, this file is C:\apps\ant151\lib\antenna-bin-r3.jar. If you are using jEdit and AntFarm, you should select Utilities - Global Options - Plugin Options - AntFarm - Build Options and enter this path in the text field for Jars for Ant Startup.

We are using a beta version of Antenna (download above) but Antenna is generally available from the project home page on sourceforge.net. Paraphrased introduction: Antenna provides a set of Ant tasks suitable for developing wireless Java applications targeted at the Mobile Information Device Profile (MIDP). With Antenna, you can compile, preverify, package, obfuscate, and run your MIDP applications (aka MIDlets), and manipulate Java Application Descriptor (JAD) files. Of course you can also do that with the J2ME Wireless Toolkit or other Java IDEs, but using an Ant script results in a defined and reproducable build process that is independent of a particular programming environment.


jEdit is an open source programmer's editor written in Java available at jedit.org.

  1. Go to the jEdit download page and download the appropriate version of the latest stable release. You probably will want the Java-based installer.
  2. To install jEdit, simply double-click on the JAR file you downloaded; the installer should start automatically.
  3. If it doesn't, then you will need to open an MS-DOS prompt (Start->Programs->MS-DOS Prompt) and enter the following commands:
    • cd directory where you downloaded the JAR file
    • java -jar filename.jar
  4. For example, if you downloaded jedit40install.jar into C:\Downloads, you would enter:
    • cd C:\Downloads
    • java -jar jedit40install.jar
  5. If for whatever reason you want to start the installer in text-only mode, specify text as the last parameter on the command line. In text only mode, the installer will not display its GUI, and instead it will ask questions in the MS-DOS prompt.
  6. If you encounter a problem while installing jEdit, take a look at The jEdit FAQ

jEdit plugins

jEdit has a plug-in architecture and so there are quite a few useful utility modules that have been written to work with jEdit. Use the plug-in manager within jEdit to install them. The plugins that I use include: Ant Farm, Buffer Tabs, Character Map, Common Controls, Console, Error List, Java Browser, JCompiler, JDiff, JSwat, Latest Version Check, WheelMouse, Whitespace, and XML.

Use menu item Utilities - Global Options - Docking to set quick access tabs for the various plugins. Use Utilities - Global Options - Toolbar to create one-click buttons to compile and run the current buffer or compile and run using an Ant build file.

close24.gif Add - Built-in Commands - Close
JavaCup24.gif Add - Plugin: JCompiler - Compile File
Play24.gif Add - Plugin: Console - Run Current Buffer ...
JavaCup24-ant.gif Add - Macros - ant-build. ant-build.bsh is a jedit macro containing: runCommandInConsole(view,"Ant","!build");
JavaCup24-ant.gif Add - Macros - ant-dist. ant-dist.bsh is a jedit macro containing: runCommandInConsole(view,"Ant","!dist");
Play24-ant.gif Add - Macros - ant-run. ant-run.bsh is a jedit macro containing: runCommandInConsole(view,"Ant","!run");

Right-click and save the image files for your use, or use any other images that you like.

Servlet development

In order to compile servlets, we need access to the servlet class definitions. These are not included in the J2SE (Standard Edition) download. These files are installed on cubist. On the lab Unix systems they are at /cse/courses/cse403/03wi/tomcat4, and on the lab Windows systems they are at O:\cse\courses\cse403\03wi\tomcat4, assuming that \\ntdfs\cs is mapped to the O drive.

There is a zipped copy of the tomcat4 common directory here. [tomcat4-jars.zip (2MB)] If you are working at home, you can download it and unzip it anywhere. You can also download and install the entire Tomcat server distribution for version 4.1.18. Even if you don't intend to run the server on your development machine, this would give you the jar files and the documentation to store and use locally.

Update the build.properties file so that catalina.home points to tomcat4 on your development system. Note that you should use forward slashes "/" in the pathname, Ant translates them as appropriate for your system.

Servlet documentation

Source configuration control

You will want to use a configuration management system of some sort during the projects. One relatively simple to use system is CVS. You can download the simple command line interface tool here. [ftp.cvshome.org/]. There is a UW ACM primer on CVS [link] and the main CVS manual is at [www.cvshome.org/docs/manual/].

Remote Access

For Windows, an SSH client installer is available here SSHSecureShellClient-3.2.2.exe and a key authentication manager is available here SSHAccessionLite.exe. These are from UW C&C, but you should note that C&C does not support Accession Lite and this version of Secure Shell does not have pre-built configuration customizations for use at the UW.

CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to webmaster]