British defence bosses have launched an extraordinary attack on government dithering over military spending.