The generated poms inject the version of hdfs itsel, but hardcode the version of hadoop-common they depend on.
When trying to build downstream projects for example mapreduce, then they will require hadoop-common-0.22.0-SNAPSHOT.jar.
When trying to do an offline build this will fail to resolve as another hadoop-common has been installed in the local maven repo.
Even during online build, it should compile against the hadoop-common that hdfs compiled against.
When versions mismatch one cannot do a coherent build. That is particularly problematic when making simultaneous change in hadoop-common and hadoop-hdfs.