由于汉尼拔没有留下回忆录,所以不能知道他为什么要经过高卢和越过阿尔卑斯山进行危险的、几乎等于灾难的远征。不过可以肯定,西班牙沿海的汉尼拔舰队没有足够的力量与罗马舰队抗衡。如果这支舰队真的很强大,汉尼拔因为种种原因影响,可能仍然会沿着他所选定的路线前进,但如果他经海路远征的话,就不会使与他一起出征的6万名老兵损失3.3万人。
正当汉尼拔进行这种危险远征时,罗马人派老西庇阿两兄弟率领一部分舰队,将一支执政官指挥的陆军送往西班牙。这次航行没有遭受严重损失,罗马陆军成功地进驻汉尼拔交通线上的埃布罗河以北地区。与此同时,另一个罗马分舰队与另一名执政官指挥的一支陆军被派到了西西里。两个分舰队共有220艘舰船。每个分舰队都在各自的阵位上,与一支迦太基分舰队遭遇,最后罗马人轻而易举地打败对手。这些都可以从很少的战斗记载中推断出来,可以说明罗马舰队确实强大。
第二年之后的战况如下:汉尼拔已经从北部进入意大利,在连战连胜后,已绕过罗马城向南进军,将自己的部队驻扎在意大利南部,就地征收给养,这使得他们与当地人民产生矛盾,特别当他依靠罗马在当地建立起来的强大政治和军事控制系统征收给养时,矛盾就更加尖锐。所以汉尼拔最急需的,就是要与某一可靠的、能够不断提供补给和增援的基地建立联系。按现代战争的术语来说,就是建立“交通线”。有三个友好的地区:迦太基本土、马其顿和西班牙。可以让其中一个或三个充当这样的基地,而他与前两个基地间的交通,只能经海路维持。汉尼拔能从西班牙得到最有力的支援,如果没有敌军封锁航道,他既可经陆路又可经海路抵达那里,而经海路路程短且安全。
战争的最初几年,罗马人依仗其海上力量,完全控制了位于意大利、西西里和西班牙之间的第勒尼安海和撒丁海。从埃布罗河至台伯河之间,沿海居民几乎都对罗马人友好。但是坎尼之战后的第四年,叙拉古放弃了与罗马的同盟,叛乱蔓延整个西西里,而马其顿也与汉尼拔签订了攻守同盟。这些变化必然不断扩大罗马舰队的军事活动,加重了他们的负担。由此会产生什么样的部署,这种部署又怎样影响这场战争呢?
迹象清楚地表明罗马人从未放松对第勒尼安海的控制,这可以从罗马各分舰队能不受干扰地从意大利驶到西班牙得到证实。在西班牙沿海地区,直到大西庇阿[10]看出适于暂时停止使用舰队之前,罗马在此一直享有充分的控制权。罗马在亚得里亚海的布林迪西部署了一支分舰队并建有一个海军基地以控制马其顿,他们忠于职守,从未让马其顿的一个方阵士兵进入意大利。蒙森说:“由于腓力[11]缺少一支战斗舰队,使他的各种调动都不能实现。”这里海权的作用不再只是一种推断,而是明显的事实。
西西里的斗争以叙拉古为中心。迦太基和罗马舰队在这里交战,但优势显然属于罗马人,尽管迦太基人曾几次成功地向叙拉古城里运送补给,可他们一直避免与罗马舰队作战。由于罗马舰队控制了利利巴厄姆(今马尔萨拉)、巴勒莫和墨西拿,使它能在该岛北岸建立牢固的基地。西西里南部水域对迦太基人是开放的,因此他们还能支持叙拉古人反抗。
综观这些事实,可以进行一种推断,而且能得到全部史实支持,即当时的罗马海上力量控制了西班牙塔拉戈纳到西西里西端的利利巴厄姆以北,在经过该岛北端经墨西拿海峡,向南到叙拉古,再到亚得里亚海的布林迪西的广大海域。整个战争期间,这种控制没有被动摇过,并且一直持续着。如前面所述,这种控制不能完全制止迦太基人进行规模或大或小的海上袭击,但是确实阻断了汉尼拔所急需的那种持续可靠的交通线。
另一方面,似乎同样很清楚,战前10年,罗马舰队还没有足够的力量,在西西里和迦太基之间的海域长期作战,确实也不能超出所限定的南部界限,到较远的地方活动。汉尼拔一起程,就派出一些舰船保护西班牙与非洲之间的交通线,可是当时的罗马人并不打算袭击这些交通线。
所以,罗马海军完全放弃了在马其顿的战争。罗马舰队也没能制止迦太基人在西西里进行的多次有效的牵制活动。但这支舰队确实妨碍了迦太基人向当时在意大利的汉尼拔运送最急需的部队。西班牙的情况又是怎样的呢?
汉尼拔的父亲(哈米尔卡)和汉尼拔本人都把西班牙地区作为他们策划入侵意大利的基地。在战前18年,他们就已经占领了这个地方,并且非常有远见地扩大和巩固他们在当地的政治和军事实力。父子俩已经集合了一支庞大的军队,并在当地战争中经受了锻炼,成为当时一支久经沙场的部队。汉尼拔出征后,就把政权交给了自始至终忠于他的弟弟哈斯德鲁巴尔,这种忠诚是汉尼拔无法从深陷可恶宗派斗争的非洲迦太基本土得到的。
汉尼拔一起程,迦太基人便在西班牙取得了从加的斯到埃布罗河的广大地区。尽管居住在埃布罗河与比利牛斯山脉之间的部落对罗马人都很友好,但当罗马人不在的时候,他们无法抵挡汉尼拔。汉尼拔镇压他们之后,留下1.1万名士兵由汉诺指挥,对这个地区实施军事占领,防备罗马人进驻,避免他们袭扰汉尼拔与其他基地之间的交通线。
但是,同一年格涅乌斯·西庇阿[12]率领2万名罗马士兵经海路抵达那里,打败汉诺,并且占领了埃布罗河以北的沿海和内地。这样就使罗马人不但能够完全切断汉尼拔与哈斯德鲁巴尔之间的相互支援,而且还可以从这里攻击西班牙境内的迦太基部队,而罗马人与意大利的水上交通线又能得到自己舰队的保护。罗马人在塔拉戈纳建造海军基地,与哈斯德鲁巴尔在卡塔赫纳的海军基地对抗,然后入侵迦太基领地。罗马在西班牙的战争是在老西庇阿兄弟俩指挥下进行的,表面看来这是一场次要的战争,七年间双方各有胜负;战争结束时,哈斯德鲁巴尔给了他们毁灭性的打击,老西庇阿兄弟被杀,迦太基人也几乎成功地通过比利牛斯山增援汉尼拔。但是这种尝试就在将突破比利牛斯山时受挫,当迦太基人准备再次尝试时,卡普阿陷落,克劳狄乌斯·尼禄围攻该城的1.2万名罗马老兵,被调到了西班牙。尼禄是一位能力杰出的指挥官,在第二次布匿战争时期,他做出了所有罗马将军能做出的最有决定性意义的军事调动[13]。这种来自海上的及时增援,再次确保罗马人对哈斯德鲁巴尔行军路线的控制,对迦太基来说,一条既快又便捷的通道,已被罗马海军截断。
两年之后,后来获“阿非利加西庇阿”称号的普布利乌斯·西庇阿(即大西庇阿),接管西班牙的指挥权,采用陆海联合进攻策略,占领卡塔赫纳,但是此后他却令人不可思议地解散了舰队,并把海军调至岸上充当陆军。大西庇阿不满足于只充当一支“牵制”[14]部队,去封锁比利牛斯山脉的要隘来对抗哈斯德鲁巴尔。他向前推进,进入西班牙南部,在瓜达尔基维河上进行了一次激烈的非决定性战役;战后哈斯德鲁巴尔悄悄溜走,匆忙北上,从西端越过比利牛斯山,向意大利奋进。那时汉尼拔在意大利的处境日趋困难,部队的自然减员没能得到补充。