桓公的霸业是靠本来强盛的齐国做基础的。当他称霸的时代,晋国和秦国先后又在缔构强国的规模,晋国在准备一个接替桓公的霸主降临,秦国在给未来比霸业更宏大的事业铺路。话分两头,先讲晋国。
晋始封时都于唐(今太原县北),在汾水的上游;其后至迟过了三个半世纪,已迁都绛(今翼城县),在汾水的下游。晋人开拓的路径是很明显的。不过迁绛后许久他们还未曾占有汾水流域的全部,当汾水的中游还梗着一个与晋同姓的霍国,当汾水将近入河的地方还碍着一个也与晋同姓的耿国,前745年晋君把绛都西南百多里外的曲沃,分给他的兄弟,建立了一个强宗。此后晋国实际分裂为二。曲沃越来越盛,晋国越来越衰,它们间的仇隙也越来越大。这对抗的局面终结于前679年曲沃武公灭晋并且拿所得的宝器向周王买取正式的册封。老髦的武公,受封后两年,便一暝不视,遗下新拼合的大国给他的儿子献公去粘缀、镶补。
献公即位于齐桓公十年(前676年),死于桓公三十五年。他二十六年的统治给晋国换一副面目。他重新修筑了绛都的城郭,把武公的一军扩充为二军。他灭霍、灭耿、灭魏、灭虞、灭虢,使晋国的境土不独包括了整个的汾水流域,并且远跖到大河以南。但献公最重要的事业还不止此。却说武公灭晋后,自然把他的公族尽力芟锄,免遗后患。我们可以想象晋国这番复合之后,它的氏室必定灭了许多,但在曲沃一方,自从始封以来,公子公孙们新立的氏室为数也不少。献公即位不久,便设法收拾他们。他第一步挑拨其中较穷的,使与“富子”为仇,然后利用前者去打倒后者。第二步,他让残余的宗子同住一邑,好意地给他们营宫室,筑城郭;最后更好意地派大兵去保卫他们,结果,他们的性命都不保。于是晋国的公族只剩下献公的一些儿子。及献公死,诸子争立。胜利者鉴于前车,也顾不得什么父子之情,把所有长成而没有继位资格的公子都遣派到各外国居住,此后的一长期中,公子居外,沿为定例。在这种制度之下,遇着君死而太子未定,或君死而太子幼弱的当儿,君权自然失落在异姓的卿大夫手里。失落容易,收复却难。这种制度的成立便是日后“六卿专晋”“三家分晋”的预兆。话说回来,献公夷灭群宗后,晋国的力量一时集中在公室;加以他凭借“险而多马”的晋土,整军经武,兼弱攻昧,已积贮了向外争霸的潜能。可惜他晚年沉迷女色,不大振作,又废嫡立庶,酿成身后一场大乱,继他的儿孙又都是下等材料。晋国的霸业还要留待他和狄女所生的公子重耳,就是那在外漂流十九年,周历八国,备尝艰难险阻,到六十多岁才得位的晋文公。
文公即位时,宋襄公已经死了两年。宋人又与楚国“提携”起来,其他郑、鲁、卫、曹、许等国,更不用说了。当初文公漂流过宋时,仁慈的襄公曾送过他二十乘马。文公即位后,对宋国未免有情。宋人又眼见他归国两年间,内结民心,消弭反侧;外联强秦,给王室戡定叛乱,觉得他大可倚靠,便背楚从晋。楚率陈、蔡、郑、许的兵来讨,宋人向晋求救。文公和一班患难相从的文武老臣筹商了以后,便把晋国旧有的二军更扩充为三军,练兵选将,预备“报施救患,取威定霸”。他先向附楚的国曹、卫进攻,占据了他们的都城;把他们的田分给宋国;一面叫宋人赂取齐、秦的救援。虽是著名“刚而无礼”的楚帅子玉,也知道文公是不好惹的,先派人向晋军说和,情愿退出宋境,只要晋军同时也退出曹、卫。文公却一面私许恢复曹、卫,让他们宣告与楚国绝交;一面把楚国的来使拘留。这一来把子玉的怒火点着了。于是前632年,即齐桓公死后十一年,楚、陈、蔡的联军与晋、宋、齐、秦的联军大战于城濮(卫地)。就在这一战中,楚人北指的兵锋初次被挫,文公成就了凌驾齐桓的威名,晋国肇始它和楚国八十多年乍断乍续的争斗。
这八十多年的国际政治史表面虽很混乱,却有它井然的条理,是一种格局的循环。起先晋楚两强,来一场大战;甲胜,则若干以前附乙的小国自动或被动地转而附甲;乙不肯干休,和它们算账;从了乙,甲又不肯干休,又和它们算账,这种账算来算去,越算越不清,终于两强作直接的总算账,又来一场大战。这可以叫作“晋、楚争霸的公式”。晋、楚争取小国的归附就是争取军事的和经济的势力范围。因为被控制的小国对于所归附的霸国大抵有两种义务:(一)是当它需要时,出定额的兵车助它征伐。此事史无明文,但我们从以下二事可以类推:(1)齐国对鲁国某次所提出的盟约道:“齐师出境而不以甲车三百乘从我者,有如此盟!”(2)其后吴国称霸,鲁对它供应军赋车六百乘,邾三百乘。(二)是以纳贡或纳币的形式对霸国作经济上的供应(贡是定期的进献,币是朝会庆吊的贽礼)。此事史亦无明文,但我们从以下三事可以推知:(1)楚人灭黄的借口是它“不归楚贡”。(2)前548年晋执政赵文子令减轻诸侯的币,而加重待诸侯的礼;他就预料兵祸可以从此稍息。(3)前530年郑往晋吊丧,带去作贽礼的币用一百辆车输运,一千人押送。后来使人不得觐见的机会,那一千人的旅费就把带去的币用光!当周室全盛时,诸侯对于天王所尽的义务也不过如上说的两事。可见霸主即是有实无名的小天王,而同时正式的天王却变成有名无实了。
在晋、楚争霸的公式的复演中,战事的频数和剧烈迥非齐桓、宋襄的时代可比,而且与日俱甚。城濮之战后三十五年,晋师救郑,与楚师遇,而有邲(郑地)之战,楚胜;又二十二年,楚师救郑,与晋师遇,而有鄢陵(郑地)之战,晋胜;又十八年,晋伐楚以报楚之侵宋(先是楚侵宋以报晋之取郑),而有湛阪(楚地)之战,晋胜。但这四次的大战只是连绵的兵祸的点逗。在这八十余年间,楚灭江、六、蓼、庸、萧(萧后入于宋)及群舒;晋灭群狄,又灭偪阳以与宋;齐灭莱;秦灭滑(滑后入于晋);鲁灭邾;莒灭鄫(鄫后入于鲁)。在这期间,郑国为自卫,为霸主的命令,及为侵略而参加的争战在七十二次以上。宋国同项的次数在四十六以上。其他小国可以类推。兵祸的惨酷,可以从两例概见:(一)前597年,正当邲战之前,楚人在讨叛的名目下,围攻郑都。被围了十七天后,郑人不支,想求和,龟兆却不赞成;只有集众在太庙哀哭,并且每巷备定一辆车,等候迁徙,这一着却是龟兆所赞成的。当民众在太庙哀哭时,守着城头的兵士也应声大哭。楚人都被哭软了,不禁暂时解围。郑人把城修好,楚兵又来,再围了三个月,终于把城攻破,郑君只得袒着身子,牵着一只象征驯服的羊去迎接楚王。(二)过了两年,厄运轮到宋人头上。楚王派人出使齐国,故意令他经过宋国时,不向宋人假道。宋华元说:经过我国而不来假道,就是把我国看作属地,把我国看作属地就是要亡我国;若杀了楚使,楚人必来侵伐,来侵伐也是要亡我国;均之是亡,宁可保全自己的尊严。于是宋杀楚使。果然不久楚国问罪的大军来到宋都城下,晋国答应的救兵只是画饼。九个月的包围弄到城内的居民“易子而食,析骸以炊”;楚人还在城外盖起房舍,表示要久留。但宋人宁可死到净尽,不肯作耻辱的屈服。幸亏华元深夜偷入楚营,乘敌帅子反的不备,挥着利刃,迫得他立誓,把楚军撤退三十里,和宋国议和,这回恶斗才得解决。
像这类悲惨事件所构成的争霸史却怎样了结?难道它就照一定的公式永远循环下去吗?难道人类共有的恻隐心竟不能推使一个有力者,稍作超国界的打算吗?前579年,尝透了战争滋味的华元开始作和平运动。这时他同晋、楚的执政者都很要好;由他的极力拉拢,两强订立了下面的盟约:
凡晋、楚无相加戎,好恶同之,同恤菑危,备救凶患。若有害楚,则晋伐之;在晋,楚亦如之。交贽往来,道路无壅。谋其不协,而讨不庭(不来朝的)。有渝此盟,明神殛之;俾队(坠)其师,无克胙国。
这简直兼有现在所谓“互不侵犯条约”和“攻守同盟”了。但这“交浅言深”的盟约,才侥幸保证了三年的和平,楚国便一手把它撕破,向晋方的郑国用兵;次年便发生鄢陵的大战。
争霸的公式再循环了一次之后,和平运动又起。这回的主角向戌也是宋国的名大夫,也和晋、楚的执政者都有交情的。但他愿望和福气都比华元大。前546年,他在宋都召集了一个十四国的“弭兵”大会。兵要怎样弭法,向戌却是茫然的。这个会也许仅只成就一番趋跄揖让的虚文,若不是楚国的代表令尹子木提出一个踏实的办法:让本未附从晋或楚的国家以后对晋、楚尽同样的义务。用现在的话说,这就是“机会均等”“门户开放”的办法。子木的建议经过两次的小修正后到底被采纳了。第一次的修正是在晋、楚的附从国当中把齐、秦除外,因为这时亲晋的齐和亲楚的秦都不是好惹的。第二次的修正又把邾、滕除外。因为齐要把邾、宋要把滕划入自己的势力范围。四国除外,所以参加盟约的只有楚、晋、宋、鲁、郑、卫、曹、许、陈、蔡十国。
在这次盟会中晋国是大大地让步了。不独它任由楚人自居盟主;不独它任由楚人“衷甲”赴会,没一声抗议;而那盟约的本身就是楚国的胜利;因为拿去交换门户开放的,晋方有郑、卫、曹、宋、鲁五国,而楚方则只有陈、蔡、许三国。但晋国的让步还有更大的。十二年后,楚国又践踏着这盟约,把陈国灭了(五年后又把它复立,至前478年终灭之),晋人只装作不知。弭兵之会后不久,晋人索性从争霸场中退出了。晋国的“虎头蛇尾”是有苦衷的。此会之前,晋国已交入一个蜕变的时期。在这时期中,它的主权从公室移到越来越少的氏室,直至它裂为三国才止。在这蜕变的时期中,它只有蛰伏不动。但楚国且慢高兴,当它灭陈的时候,新近暴发的吴国已蹑在它脚后了。