The most popular non-IDE (see IDEs) Java compiler
is Sun's Software Development Kit (SDK) (aka
the Java Development Kit (JDK)). It's free, and does a good job.
The only problem is that the compiler is only a compiler - no editor
and no graphical user interface. It must be used from the DOS command
line window, or with a program editor (eg, TextPad,
jEdit, ...) which have an
interface to the compiler to give some of the benefits of
an IDE.
Installing the JDK is easy, but many people have some problems
setting the Windows PATH variable, which tells Windows where
to find programs. The JDK comes with installation instructions
which describe how to do this for various Windows systems.
CLASSPATH
Both the Java compiler (javac) and Java runtime (java) need to know
where to find class files. The standard Java packages used in
imports are not a problem, but the file system paths of other
classes must be specified.
The operating system (eg, Windows) maintains environment variables
that supply information to the programs on request.
The CLASSPATH variable is a semi-colon separated
list of directories or jar files to to search in.
In addition to non-Sun libraries that are used, the current directory
(".") is specified so that classes a user is working on will be found.