Если эта команда
mvn -P cargo.run
, то ничего не виснет, это и есть запущенное приложение в итоге, и к нему можно достучаться локально через
localhost:8080 после этого, собственно куда ей дальше идти? =)
Вот только такой запуск не пригоден фактически для работы, и является не более чем примером или заготовкой. Т.к. при закрытии терминала работа приложения прервётся. Да и снаружи не достучаться.
Надо написать unit для systemd, который будет запускать ваше приложение в фоне, например, и включить его автозапуск при старте системы.
Также, перед приложением можно поставить какой-нибудь nginx, например, который будет работать как обратный прокси, терминировать ssl и.т.п.