The Wayback Machine - https://web.archive.org/web/20111201201040/http://openjdk.java.net:80/groups/compiler/

The Java programming-language compiler (javac) group

This group is comprised of developers involved in the design, implementation, and maintenance of the Java programming language compiler (javac) and associated components.


Note: As of build 24, We have restructured the source code so that javac, javadoc, javah, javap, and apt now all live in a new repository called langtools.


Introduction

The Java programming-language compiler (javac) reads source files written in the Java programming language, and compiles them into bytecode class files. Optionally, the compiler can also process annotations found in source and class files using the Pluggable Annotation Processing API. The compiler is a command line tool but can also be invoked using the Java Compiler API.

The compiler accepts source code defined by the Java Language Specification (JLS) and produces class files defined by the Java Virtual Machine Specification (JVMS).

Source Code

The compiler source code is available in the OpenJDK Mercurial repositories, at http://hg.openjdk.java.net/.

For general information about the OpenJDK repositories, and how to clone them, see The OpenJDK Developer's Guide. For the compiler, you can download and build it as part of a complete JDK forest, or you can just download and build the langtools repository to build a standalone version of the compiler.

Note that the code for the native launcher for javac is shared with all the other JDK tools, and lives in the JDK repository. If you just download and build the langtools repository, you will get an executable jar file which you can invoke directly with the java command, or with a simple shell script that is provided. Windows users will need Cygwin or similar packages to run the shell script.

You can browse the compiler sources with OpenGrok. Currently, this is based on the initial OpenJDK release of the compiler, and so is not completely up to date.

Documentation

Resources

The following links are for resources about the compiler, provided by non-Sun contributors.

Note: Since the OpenJDK project is going through changes, these resources may not always be completely up to date.

Related Projects

Community