My point was that hadoop-core 1.1.2 and hadoop-common 0.23.9 (0.23.9 is considered "new implementation" and pretty similar to 2.x.x) contain a lot of same classes with very different implementations, and some of them are incompatible.

I'm not exactly sure what "depends" does, but if both hadoop-core 1.1.2 and hadoop-common 0.23.9 get on the same classpath, bad things will happen as you would have two copies of lots of classes. Only one or the other should be on the classpath, but not both.

Perhaps there is a deeper issue that led you to include both which needs to be solved differently?