The maven-compile-plugin block is setting the java source and bytecode versions for javac. Basically the source can use up to java 6 syntax and the compiled bytecode will run on java6+ JVMs. I'm not sure why maven has it's compiler component as a plugin!