error: unmappable character for encoding ASCII.
This issue constitutes that largest number of build failures; Java 7 treats source file encoding issues as errors rather than warnings - this can effect both javac and javadoc operations.
ant: Ensure appropriate encoding is passed to javac and javadoc commands; this will normally need to be patched into the build.xml file:
<javac ... encoding="ISO-8859-1">...
maven: specify the source file encoding in debian/maven.properties (when in use) using:
# Set encoding for compatibilty with Java 7 project.build.sourceEncoding=ISO-8859-1
Public API Changes
Package does not implement new public API requirements for Java 7; normally something JDBC related and relatively easy to fix.
Language Handling Changes
Some sort of language handling change (typically generics handling) causes the build failure e.g:
error: name clash: boxedFor(Class<? extends Boxed>,long) in org.gnome.gdk.Plumbing and boxedFor(Class<?>,long) in org.gnome.glib.Plumbing have the same erasure, yet neither hides the other
Again needs fixing upstream - I suspect that these again will follow specific patterns with stock fixes.
Maven 2 not parsing warning error message causing failure
could not parse error message: warning: [options] bootstrap class path not set in conjunction with -source 1.5
Bug in Maven 2; needs to handle new Java 7 warning message (see http://blogs.oracle.com/darcy/entry/bootclasspath_older_source for explanation of what it means)
Package makes use of private API no longer present or changed in Java 7; harder to fix as requires use of different API or significant refactoring; best worked out with upstream.
Problems with JAVA_HOME in rules not matching default-java i.e. using openjdk6 explicitly, fixable in packaging
Failure in test suite caused build failure.
[exec] org.apache.fop.apps.FOPException: Can't load standard profile: sRGB.pf
I think this is related to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641530 in openjdk-6