jdk7src – Alternative to JDK src.zip with all publicly available source files

Scripts © 2011-2013 Michael Schierl, <schierlm at users dot sourceforge dot net>

Introduction

When you are debugging your Java program in your favourite IDE (mine is Eclipse) you sometimes happen to debug into the Java class libraries. This is not bad per se, usually from looking at the code you learn something about the class library's implementation and why it does not do what you might have expected.

But often you end up in Java class libraries, where there is debug information attached in the class files (at least those shipped with the JDK) but no source is present in src.zip. Official statement is that src.zip only contains publicly documented classes (i. e. the same ones that are covered by the official Javadoc). But since JDK7 is based on OpenJDK, and almost every class in JDK7 is identical to the one shipped with or generated by OpenJDK, why not take the classes from OpenJDK instead?

That's what I was doing – and it cost me approximately one week time to find all classes in the huge code base of OpenJDK, find the scripts that generated those classes that were not included and create an ant script to automatically scavenge those files from the published OpenJDK resources. For updated JDK7 versions like jdk7u1 there are no official OpenJDK source downloads available, but they are included in the JDK7 Mercurial Repository.

Covered Source / Download Links

All downloads (JDK7u0 to JDK7u10) are available in the SourceForge Downloads Area.

Nobody likes to buy a pig in a poke, therefore here are some statistics.

All statistics have been taken on a Windows machine against the x86 Windows build of JDK7; builds for other operating systems may be off a bit (For example, all Unix*.java and Solaris*.java files are deleted by my scripts). But you are free to submit patches (or maintain your own branch in SVN) to create source archives that match those other operating systems better.

src-jdk.zip (JDK7u5) (JDK7u6) (JDK7u7) (JDK7u9) (JDK7u10)

This is the main source archive, and it covers almost all of jre\lib\rt.jar, except the following packages/classes:

It also covers all of the following JARs:

It does not cover these jars:

Sourceforge project page

is located here.

Subversion

You can get the latest source code (and check in your additions if you are a developer) from subversion.

Anonymous access: Use
svn co http://svn.code.sf.net/p/jdk7src/code/trunk/jdk7src jdk7src
to check out the latest version. You can also use GUI programs like TortoiseSVN (Explorer plugin).

Developer access: Use
svn co https://svn.code.sf.net/p/jdk7src/code/trunk/jdk7src jdk7src
to check out the latest version. Contact me so that I can add you to this project. You will need a sourceforge.net account for this. Or submit your changes by e-mail; then I will commit them (In the latter case please make sure that your From address is replyable, in case of any questions. If my answer bounces, I will not commit your patch!).

You can also browse the repository.

Contact me

You can send suggestions and bug reports to my sourceforge e-mail address.

Have fun!

Get Oracle Java JDK 7 Source Files at SourceForge.net. Fast, secure and Free Open Source software downloads