第一,专宠陈阿娇。
汉武帝的登基,没有长公主刘嫖的支持,是不可能的。而汉武帝登基的时候,大权掌握在太皇太后窦氏手中,而且跟刘嫖形成外戚集团。势力很大,甚至可以废立皇帝,所以作为汉武帝当时的选择只能是专宠陈阿娇,以讨好太皇太后和刘嫖。而陈阿娇一直无子,不能生育,这一点原因很是重要。
第二,后宫残害。
在汉武帝登基的前12年内,陈阿娇在后宫那是唯我独尊,掌控后宫,为此,陈阿娇不允许汉武帝碰其他的宫女和妃子。即使碰了,也会想办法打掉孩子,或者直接残害,因此,这一点也无法避免。汉武帝12年无子,很大部分也是人为的原因,离不开后宫的争斗。而后来卫子夫进宫,还差点被刘嫖打死,就可以看出,当时后宫汉武帝也没有任何办法。
第三,汉武帝自己的原因。
汉武帝从小就讨厌刘嫖,其贪得无厌。而登基后,更是害怕刘嫖和外戚权力进一步壮大,到时候直接危及皇权,那么问题就很严重了。而一旦陈阿娇生下儿子,必然会被立为太子,那么一旦如此,外戚权力尾大不掉,那就麻烦了。
所以后续史料猜测,汉武帝当时可能有意的给陈阿娇做了小动作,所以一直不能生子。等到自己彻底掌权后,才宠幸其他妃子,得以生下儿子。而且还有一种说法是,汉武帝属于晚熟,在前期发育不充分,直到接近30岁的时候,才发育完全,所以,直到29岁才生下第一个儿子刘据。