Ubuntu 10.04 desktop version is used.
1. Install mercurial forest extension.
2. "hg fclone http://hg.openjdk.java.net/jdk7/jdk7" to get the source code.
3. Install openjdk 6. Oracle JDK 6 does not work for me. For details, refer to http://mail.openjdk.java.net/pipermail/build-dev/2011-April/004382.html.
4. "sudo apt-get install libxtst-dev" to avoid "X11/extensions/XTest.h: No such file or directory" error.
5. export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk
6. unset JAVA_HOME
7. "make ALLOW_DOWNLOADS=true". Setting ALLOW_DOWNLOADS will download source code bundles for jaxp and jaxws.
After the build is finished, find jaxp and jaxws source bundles in build directory and place them in a new directory which is /data/prog/java/openjdk/jdk7-drops in my case. Later, when you build openjdk, run "export ALT_DROPS_DIR=/data/prog/java/openjdk/jdk7-drops". Then run make.