The name of the file file refereed to by '@war' is the name of the file created locally. Tomcat requires the .war extension to be able to deploy the application. This assumption does not apply to the source file which coulod have any name.

In fact the older code made this assumption. It used the url of the war file instead, which in my case was cryptic and did not have the .war. With this tomcat never deployed the application.