Только как им тогда управлять?
Если приложение не умеет без терминала работать, то самый простой способ, который не требует постоянного ssh подключения, это запустить screen (или tmux -- в Ubuntu есть byobu, который позволяет переключаться между первым или вторым вариантами).
В долгосрочной перспективе нужно превратить java-сервер в Unix-демон и запускать/останавливать/перезапускать стандартными средствами (например, upstart на некоторых версиях Ubuntu). Для общения с демоном можно сокеты использовать, если специальных нужд нет.
Если приложение ожидает команды по какому-то своему частному протоколу из стандартного ввода (stdin) и выводит ответ в stdout, то чтобы превратить его в демон, можно написать обёртку, которая использует какой-нибудь стандартный протокол, например, http, и перенаправляет команды через pipe в запущенный процесс (дитё).
Такую обёртку уже можно демонизировать простыми средствами, например, daemonize команда. Или специфичное для java решение: Apache Commons Daemon.