I have a Java Maven project with about 800 source files (some generated by javacc/JTB) which is taking a good 25 minutes to compile with javac.
When I changed my pom.xml
The fact that you're using generated source, the massive difference in speed and the StackOverflowError
might suggest that one (or more) of your files have some constructs that the javac
parsers doesn't agree with.
Could you try to compile only subsets of your code and see if any one class/package slows down the process especially (probably one of the generated ones).
It may be that the javac compiler operates close at its heap limit (64MB or so). In that case, it spends most of the time in the garbage collector. Give the compiler a good chunk of memory, say 256M or 512M and see if it runs faster.