356年晋军的北伐成果是暂时的。此时北方的前秦和前燕政权都开始扩张,数年时间内,东晋势力被再次压回淮河一线。而随着桓温在荆州坐大,也希望建立北伐功业,以便压倒东晋内部的竞争者。到369年,桓温发动了对前燕的北伐。
桓温的部署及其以往的教训
在桓温北伐之时,北方的前秦定都长安,核心区为关中;前燕建
————————
[1] 《宋书》卷三十一《五行志二》,第909页。
都邺城,核心区为河北。前燕己基本控制河南和青州(山东半岛)地区,西南方甚至占领了鲁阳,威胁南阳地区。东晋则依托淮河,在北岸仅保留彭城等少数据点。
桓温对进攻前燕的部署是:自己率晋军主力从彭城北上,驱逐兖小H方向的燕军,从此前苟羡、诸葛攸开通的泗水一济水航道进入黄河,并渡河攻击燕都邺城;豫州刺史袁真带领西路晋军从寿春(寿阳)北上,解决河南地区的燕军,占领荥阳后疏通石门水翻,恢复汴水流量,为进入黄河的桓温主力提供第二条补给通道。[1]从这个部署可以看出,当时汴水上游的石门水口已经被阻塞。此时距离356年戴施从汴水进攻洛阳仅十三年,自然淤积未必这样快,所以很可能是燕军进占河南之后,为了防范晋军北伐而有意阻塞了石门水口。如果没有从石门流入的黄河水,仅凭在河南段的有限流域面积,汴水是无法保证通航水量的。
这个计划中两路晋军分别北上,占据泗水、汴水通向黄河之处,保证了从彭城通向黄河的两条水道都可使用,前线晋军有可靠的后勤补给。这也是桓温以往征战成败的经验总结。前文已经谈及,356年桓温主力从襄阳、南阳出发,驱逐姚襄武装克复洛阳,就得益于戴施军队维持着汴水航道的畅通,使桓温军在破败萧条的河南地区仍能得到从东南徐州方向运来的军粮。这是后勤保障胜利的例证。
此外,桓温也曾有因后勤不力而失败的教训,即永和十年(354年)的出征前秦苻健之战。当时桓温军队出发的荆州属汉江流域,而前秦所在的关中为渭水流域,两地间有分水岭阻隔,无法通航。桓温军队溯汉水及其支流均水至淅川,然后弃舟登岸,取武关道穿越秦岭,无法携带足够的军粮。[2]为了克服这个困难,桓温计划采取“因
————————
[1] 《晋书•桓温传》:“先使袁真伐谯梁,开石门以通运”(第2576页)。
[2] 《晋书•桓温传》:“温遂统步骑四万发江陵,水军自襄阳入均口。至南乡,步自淅川以征关中……”(第2571页)
粮于敌”的策略,准备在关中地区征集粮食。他将出征日期定在二月,[1]在四月进入关中,而五月正是小麦收获季节,便于征集军粮,但苻健政权采取了提前收割小麦、坚壁清野的策略,[2]加之当年小麦年景不利,几乎绝收,[3]使晋军无法征集到足够的军粮。桓温与秦军在长安郊外相持到六月,未能取得决战胜利,被迫因粮尽撤退,伐秦之战宣告失败。严格说来,当时桓温在关中驻军两个月,有足够的时间与秦军决战。他迟疑畏战而拖延到粮尽,不能全赖后勤因素。但他主要从后勤保障这个角度总结伐秦教训,所以在制定伐燕计划时,坚持两路并进,开通两条进入黄河的航道,以保障后勤供应万无一失。
新泗黄航道(桓公渎)的开通
四月,桓温率晋军主力开始北伐。他从姑孰出发,舰队循长江而下,在广陵附近驶入邗沟,进入淮河,然后溯泗水到达彭城。这时袁真所部还在北上途中,石门水口尚未开通,汴水中缺水。桓温舰队继续溯泗水北上。[4]由于在十年前诸葛攸舰队曾从泗水驶入黄河,所以桓温认为这条航道还是畅通的。六月,桓温晋军进至高平郡,攻克燕军固守的湖陆县城。这里是荷水、泗水、洸水的交汇之地,燕军在这里设防,显然也是为了防范晋军沿河道北上。但晋军到湖陆后才发现“时亢旱,水道不通”,即荀羡、诸葛攸前度曾修整利用过的洸
————————
[1] 《晋书•穆帝纪》:永和十年“二月己丑,太尉、征西将军桓温帅师伐关中”(第200页)。
[2] 《晋书•桓温传》:“初,温恃麦熟,取以为军资。而健芟苗清野,军粮不属。”(第2571页)《晋书•苻健载记》:“初,健闻温之来也,收麦清野以待之,故温众大饥。”(第2871页)
[3] 《宋书》卷三十四《五行志五》:“晋穆帝永和十年,三麦不登,至关西亦然。自去秋至是夏,无水旱,无麦者,如刘向说也。又俗云,‘多苗而不实为伤’,又其义也。”(第980页)永和十年,正是桓温伐秦之年。云“至关西亦然”,则关中后秦辖境亦然。
[4] 《晋书》卷六十七《郗超传》:“超谏以道远,汴水又浅,运道不通。温不从,遂引军自济入河……”(第1803页)
水一汶水航道已无法承载舰船,这两条河流流量较小,受天气影响最为直接。
为了使舰队入河,桓温只得开凿新航道。这就要废弃荀羡所用的洸水,在干涸的巨野泽湖床上开挖一条沟通泗水和济水的新航道,所用水源就是从汶水汇入济水之处引来。桓温幕府中的文士袁宏作《北征赋》记载北伐见闻,他关于此次开渠的描写是:“于是背梁山,截汶波,汛清济,傍祀阿。”[1]据《水经注•济水二》,梁山处在汶水注入济水的对岸(西岸),晋军可能在汶水入济处附近修筑堰坝,将部分水量导入自南来的新渠道中,这样新渠道南有泗水,北有汶水的水量补充,才勉强可以满足行船要求,当然,体积较大的船舰无法使用这种渠道。
《晋书•桓温传》云“乃凿钜野三百余里以通舟运,自清水入河”。但《晋书•毛穆之传》则曰:“温伐慕容暐,使穆之监凿钜野百余里,引汶会于济川。”[2]所以新开渠道有一百里和三百里两说。另外,开渠所用时间亦有两说。据《资治通鉴》卷一百二:
六月,辛丑,温至金乡,天旱,水道绝,温使冠军将军毛虎生凿巨野三百里,引汶水会于清水……
秋,七月,温屯武阳,燕故兖州刺史孙元帅其族党起兵应温。温至枋头……[2]
桓温军四月发自姑孰,至六月进入高平郡金乡比较正常,因为此前多在晋军控制的区域行进,不致耽误太多时间。且六月正当盛暑雨季,也符合乘雨季涨水驶过泗水上游进入黄河的惯例。如此,则桓温
——————
[1] 《初学记》卷六“清济浊河”条,北京:中华书局,1962年,第112页。标点有改动。
[2] 分别见《晋书》,第2756、2125页。
[3] 《资治通鉴》卷一百二,第3214页。
六月开始开渠,七月已入黄河到枋头,开渠工作仅有一个月左右,加之舰队自高平郡驶入黄河,最少也要半月时间,故实际工期尚不满一月。
《晋书•废帝纪》未载桓温开始开渠的时间,但明确记载其入黄河、至枋头的时间是九月:
九月戊寅,桓温裨将邓遐、朱序遇暐将傅末波于林渚,又大破之。戊子,温至枋头。[1]
晋军掘完渠道进入黄河,到底在七月还是九月?也就是说,开渠所用时间,是一个月以内,还是三个月之内?这和开渠的长度一样,要结合当时晋军能够完成的工作量,才能推测出比较合理的数字。
桓温伐燕军队共有五万人,其中包括袁真西线兵力,桓温直辖主力规模应在四万人左右。这四万晋军还要负担与燕军作战及运输等任务,不可能全部投入开渠工作,巨野泽地区处在南北方交界战线上,人烟稀少,能征集的民夫数量有限。所以桓温军投入开渠工程的人力不会超过三万人。使用手工工具开渠筑坝时,一名壮劳力每日完成的土方量可以进行概算。如1958年修筑北京十三陵水库,工程总量180万土方,共投入870多万个工作日,每人每日工作量0.2立方左右,在毛泽东到工地劳动的5月25日,10万名工人完成了5.1万立方米的工作量,每人每日工作量也是0.2立方左右。[2]当然,修筑水库和开渠有些不同,修水库的运输土方距离较远,开渠的土方则可就近堆积为堤,所以开渠工作每人完成的日土方量会稍高于02立方米。可假设开渠工作每人每日完成0.5立方左右,则三万人每日可完成1.5万
————————
[1] 《晋书》卷八《废帝纪》,第212页。
[2] 史义军,徐连英:《1958年中央领导参加十三陵水库建设纪事》,《党的文献》2008年第5期。
立方。假设新渠横截面为20平方米(平均宽6-7米,深3米),则每日可构筑新渠750米。每月30天,可开掘渠道22.5公里,约合当时50华里。可见一个月时间不可能开掘一百里,遑论三百里。如果舰队是九月入黄河,说明开渠工作用了两个多月时间,恰好修通一百余华里渠道。则《晋书•废帝纪》的舰队入河时闻和《晋书•毛穆之传》的开渠里程是准确的。当然,晋军在开挖新渠时,也要尽量结合旧有河段以节约工程量。这条代替苟羡所开洸水的新渠道,后世便被称为“桓公渎”。
战役进程与桓温的失败
在晋军忙于开渠之时,燕军也在发起反击:下邳王慕容厉带二万燕军来袭,晋军迎击于黄墟,“厉师大败,单马奔还” [1]。《通鉴》胡注引杜预曰:“外黄县东有黄城,兵乱之后,城邑丘墟,故曰黄墟。”[2]其地约在当今河南省兰考县境。可见战场在开渠工地的西方。史书未载支燕军从何而来,很可能是洛阳到虎牢一带的驻防军。因为这里既要防范西方的前秦,也要防范南来的晋军,需驻扎重兵。但此战场在桓温主力以西二三百里,本应属于豫州刺史袁真的出击方向,说明袁真所部进军迟缓,未能起到配合桓温主力作战的作用。之后不久,桓温所部晋军又在林渚击败燕将傅颜,保障了开渠工作。[3]
就在晋军挖掘渠道之时,郗超曾向桓温建言:这条渠道不可能开
——————
[1] 《晋书》卷一百十一《慕容暐载记》,第2853页。此事《晋书•废帝纪》作:“秋七月辛卯,暐将慕容垂帅众距温,温击败之。”(第212页)有明确时间,但误以慕容厉为慕容垂。
[2] 《资治通鉴》卷一百二,第3215页。
[3] 《慕容暐载记》称为傅颜,盖来自燕人史书;《废帝纪》和《桓温传》则称之为傅末波,应是东晋方面的称呼。“末波”是鲜卑人常见名字,西晋末年段部鲜卑亦有名末波者。《资治涌鉴》)卷一百二胡三省注认为“林渚”当在新郑附近,恐非,因为距离巨野植太远,大概应在黄河南岸靠近巨野泽之地(第2853页)。另,《资治通鉴》先载桓温开巨野泽,入黄河,后又载攻湖陆、战黄墟、败傅颜三战,时间顺序错误。此三战都应发生在开通入黄河的水道之前。
通,所谓“清水入河,无通运理”,所以应抓紧时间从陆路北上,强渡黄河后攻击邺城。[1]慕容暐政权为晋军气势所震慑,必然退回辽东地区,如此便可迅速光复河北。《资治通鉴》误将此议载于晋军已开通运渠,进入黄河之后,但那样郗超就不会声称从济水(清水)无法通往黄河了。郗超还提到“今盛夏”,也定然在渠道尚未开通的九月之前。桓温未采纳这一建议,才有了桓公渎的开凿。
不过,郗超另一方面的建议却很有价值。他认为,如果桓温不愿长驱攻击邺城,则应当在黄河南岸济水之滨构建长期屯驻的军事基地,囤积足够的军粮,因为今年的夏天行将过去,一直未能有充沛降水,只好等到明年夏天再展开进攻。他还提到,秋季即将来临,北方气温下降很快,而晋军士兵们多没有准备在北方过冬的衣物,如不早做准备,无法度过冬天:
……若此计不从,便当顿兵河济,控引粮运,令资储充备,足及来夏,虽如赊迟,终亦济克。
若舍此二策而连军西进,进不速决,退必愆乏,贼因此势,日月相引,僶俛秋冬,船道涩滞,且北土早寒,三军裘褐者少,恐不可以涉冬。此大限阂,非惟无食而已。[2]
到九月,晋军终于掘通运河,桓温舰队进入黄河,驶向距离邺城最近的渡口枋头。此时已是深秋,袁宏《北征赋》所谓“于时天高地涸,木落水凝;繁霜夜洒,劲风晨兴” [3]。晋军在挖河之际,前燕已经获得了足够的动员准备时间,开始对枋头晋军进行反击:
首先,燕“豫州刺史李邦率州兵五千,断温馈运” [4]。桓温刚刚开
————————
[1] 《晋书•郗超传》,第1803页。
[2] 《晋书•郗超传》,第1803页。
[3] 《太平御览》卷二十七《时序部十二》,第129页。
[4] 《晋书•慕容暐载记》,第2853页。
通的泗一黄航道已经处在燕军的攻击之下,难以保持畅通;其次,西线袁真所部推进迟缓,未能完成开通石门,从汴水向黄河提供粮援的工作。桓温本传云:“真讨谯梁皆平之,而不能开石门,军粮竭尽” [1]。似乎是袁真所部已驱逐燕军,占领了石门,但因工程过于艰巨而不能开通。但《慕容暐载记》则为:“慕容德屯子石门,绝温粮漕”。可见石门一直在燕军控制之下;最后,前燕向前秦求援,苻坚派二万兵力出洛阳方向,向颍川袭击晋军后方。
在后援断绝的压力下,桓温没有信心登陆河北进攻邺城,而是下令撤退。由于船行速度慢,且航道水量难以保障,晋军焚毁所有舟舰,步行南撤。途中遭遇燕军、秦军的追击和截击,三万余人战死,几乎全军覆没。至于此事的余波,就是桓温将战败归咎于袁真北进不利,未能打开石门水口,要求朝廷惩办袁真。此举造成袁真及其诸子据寿春叛乱,最终被桓温攻灭,而桓温的北伐事业也告终结。
————————
[1] 《晋书•桓温传》,第2576页。