长子商臣为嗣，当时的令尹鬬勃（子上）劝阻道：您现在还年轻，宠爱的女人又多，若早立太子将来又反悔的话，恐怕会引起内乱。楚国的国君向来是立小儿子，而且商臣为人残忍，不宜立。成王并没有听从，仍坚持立商臣为太子。后来到楚成王四十五年（公元前627年），晋国阳处父攻蔡，子上领兵救援，和晋军隔泜水相峙。阳处父担心军队长期对峙会消耗过大，便派人向子上建议晋军先后撤，楚军再渡河进攻。不然的话，就由楚军后后撤，晋军来攻。子上意欲渡河，但被成大心劝退。于是子上便令楚军后撤，让晋军渡河来战，却不料阳处父趁机宣扬说是楚军逃走了