2013-04-01 12 views
12

Zaczynam uruchamiany jar z aplikacji java (również bezgłowy działający jar). Próbowano metody zarówno Runtime.getRuntime().exec() i ProcesBuilder. Proces jest uruchamiany dobrze, ale na komputerze Mac (10.6) pokazuje nazwę słoika, który uruchamiam w pasku menu głównego, a także umieszcza w stacji dokującej Czy istnieje sposób, aby temu zapobiec? Co ciekawe, jeśli uruchomisz słoik z java -jar z wiersza poleceń, nazwa słoika nie pojawi się na pasku menu ani w doku procesu. Jakieś pomysły? Dzięki AndyZapobieganie wyświetlaniu nazwy aplikacji Java na pasku menu i w doku procesu na komputerze Mac

+0

możliwe duplikat [proces w tle zapobiegać pojawiać się na Dock] (http: // stackoverflow.com/questions/15742976/prevent-background-process-from-showing-up-on-dock) –

Odpowiedz

8

Czy zdasz java.awt.headless=true? Spróbuj dodać do tego procesu:

java -Djava.awt.headless=true

25

Aby go włączyć globalnie zamiast dodanie opcji do każdego procesu, należy ustawić zmienną JAVA_TOOL_OPTIONS takiego w swoim .bashrc/.zshrc uruchomić skrypt.

JAVA_TOOL_OPTIONS eksport = '- Djava.awt.headless = true'

referencyjny tutaj:

http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html

+0

Nie wszystkie aplikacje Java respektują 'JAVA_OPTS', a kiedy to robią, ponieważ w kodzie uruchamiania aplikacji znajduje się kod do obsługi to. Ustawienie 'JAVA_OPTS' nie wpłynie na wszystko, co uruchomisz bezpośrednio za pomocą' java -jar', lub po dwukrotnym kliknięciu pliku JAR w Finderze. –

+0

Poprawiłem i zweryfikowałem, że działa. Dziękuję za twój komentarz. – arcot

Powiązane problemy