Pomijanie komunikatu „Pobrano _JAVA_OPTIONS”


13

Korzystam z _JAVA_OPTIONS, aby ustawić niektóre ustawienia domyślne Java na RHEL. Działa dobrze, ale teraz za każdym razem, gdy uruchamiam java, pojawia się następujący komunikat

 Picked up _JAVA_OPTIONS: -foo -bar -baz

czy można zachować opcje, ale ukryć wyświetlanie tego komunikatu?

Odpowiedzi:


11

Java jest często wywoływana za pomocą ścieżek bezwzględnych /usr/bin/java, co sprawia, że ​​ta odpowiedź jest w niektórych przypadkach bezużyteczna i wymaga więcej, aby działała w innych.

To rozwiązanie, które znalazłem, wymaga napisania skryptu powłoki opakowania, który przekierowuje STDERR przez filtr usuwający linię obrażającą. To musi być umieszczony w $PATHprzed java binarnego owija i nazwać zwykłą java, which javalub podobne (lub narzędzie musi być skonfigurowany tak, aby go używać)

Opiera się na zdolności bash do utworzenia podpowłoki z nawiasami (command)i przekierowania STDERR Java do STDINcommand1 2> >(command2) . Wreszcie proces w podpowłoce musi ponownie przekierować filtrowane dane wejściowe do STDOUT, aby programy Java mogły nadal używać STDERR.

#!/bin/bash
/usr/bin/java "$@" 2> >(grep -v "^Picked up _JAVA_OPTIONS:" >&2)

Prawdopodobnie okropna praktyka, ale dotyczy to obrazu dokera i zmęczyłem się tym całym czerwonym docker build- ale zmieniłem nazwę ${JAVA_HOME}/bin/javana java2i wstawiłem zmodyfikowaną wersję tego skryptu jako java(z chmod +x). Działa jak urok!
— BrainSlugs83

2

Lub możesz umieścić to w swoich plikach startowych / profilach powłoki:

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS"
unset _JAVA_OPTIONS
alias java='java "$_SILENT_JAVA_OPTIONS"'

działa to tylko podczas bezpośredniego wywoływania java ...za pomocą wiersza poleceń. wszystkie wywołania java przez skrypty lub inne procesy nadrzędne pozostaną niezmienione
— latające owce

cóż, możesz zmienić / bin / java na skrypt powłoki, który robi to samo, jeśli naprawdę chcesz.
— spelufo,

nawet jeśli tego nie zrobisz, spowoduje to rozbrojenie opcji, więc wpłynie to również na inne polecenia. Uciszy ich, nie przekazując im żadnych opcji :).
— spelufo,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.