Suprimindo a mensagem “Picked up _JAVA_OPTIONS”

13

Estou usando o _JAVA_OPTIONS para definir alguns padrões para o Java no RHEL. Funciona bem, mas agora, toda vez que eu inicio o java, recebo a seguinte mensagem

 Picked up _JAVA_OPTIONS: -foo -bar -baz

é possível manter as opções, mas suprimir a exibição desta mensagem.

    
por flying sheep 21.04.2013 / 15:46

2 respostas

10

O Java é frequentemente chamado com caminhos absolutos como /usr/bin/java , o que torna essa resposta inútil em alguns casos e exige mais para que funcione em outros.

Essa solução que eu encontrei requer escrever um script de shell que redireciona o STDERR através de um filtro removendo a linha ofensiva. Ele deve ser colocado no $PATH antes do binário java que ele envolve e ser chamado com java , which java ou similar (ou sua ferramenta precisa ser configurada para usá-lo)

Ele conta com a habilidade bash de criar um subshell com parênteses (command) e redirecionar o STDERR do java para seu STDIN command1 2> >(command2) . Finalmente, o processo no subshell precisa redirecionar sua entrada filtrada para STDOUT novamente para que os programas java ainda possam usar o STDERR.

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

Ou você pode colocar isso em seus arquivos de inicialização / perfil do shell:

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS"
unset _JAVA_OPTIONS
alias java='java "$_SILENT_JAVA_OPTIONS"'
    
por 06.12.2015 / 13:51