The Java Developer's Kit

Are you an absolute beginner? Here's a brief introduction to using the JDK.
Using the JDK

Although the details of programming and developing Java applications and applets are beyond the scope of this article, we will briefly cover how to go about compiling and running Java applications and applets. Java source code is saved in files with the .java extension. Once compiled, a class file (with a .class extension) will be created. Assuming the java/bin directory is in your path as outlined above, a Java source file can be compiled with:


Class files for applications can be executed using:

java filename.class

Applets are a little more complicated. Applets are run as embedded pieces of web pages and are included in web pages with a special <APPLET> tag. You can test an embedded applet with appletviewer or Netscape Navigator 2.0 or 3.0. With Navigator, simply choose Open from the File menu and then open the HTML file with the embedded applet.

With appletviewer, simply type:

        appletviewer filename.html

Running applets as well as some Java applications requires that you are working in an X-Windows environment. If you don't have X-Windows installed on your system you won't be able to test applets or any applications which make use of Java's GUI development capabilities.

Troubleshooting Your Installation

On most Linux systems the steps outlined above should be all that is required to get the JDK up and running. However, on some systems you may experience some difficulty; some of the common errors and their solutions are outlined below:

  • You get an error message referring to /dev/zero. The device /dev/zero needs to have world read and write permissions. Set these permissions using:

            chmod 666 /dev/zero
  • You get “dirname: too many arguments” or “cannot find class” errors. The component you are trying to run cannot find the native Java class files. The JDK uses the environment variable CLASSPATH to find these files. This variable is set in java/bin/.java_wrapper and java/bin/appletviewer. However, with your shell, these scripts are having trouble determining the correct directory. You can edit these files so that the CLASSPATH gets set correctly.

In .java_wrapper, change the line which reads:

        J_HOME=`dirname $PRG`/..



(or wherever you installed the JDK) A similar change needs to be made in appletviewer.

Getting More Information

Once you have installed the Java Developer's Kit, you will probably want more information about developing Java applications and applets. Aside from Sun's official Java home page at, the Gamelan directory ( provides an extensive collection of applets and applications—many with source code—as well as pointers to other reference material. The newsgroup is a high-volume newsgroup which is actively used by many Java experts and novice programmers.

Arman Danesh ( is a technology journalist who contributes regularly to several publications around the world. He writes a weekly Internet column in The South China Morning Post called “The Other World” and a regular column called “Trawling the Net” in The Dataphile. He is the author of Teach Yourself JavaScript in a Week from Publishing.


White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState