There are right now 3 phases which also have a pre-<phase> and post-<phase>, namely integration-test, clean and site. However, even if one has bound goals to the post-phases, they're probably never called.
When there's an integration-test starting up some server, you'd probably always want to kill it no matter what happens during the IT (let say a NPE).
The proposal is to execute the post-<phase> as the finally block in Java. If you really want to execute only the integration-test without the post, the phase should be marked, e.g. 'mvn [integration-test]', where the brackets lock the phase.