alias de configuração para Java9

1

Eu sou novo no bash. Eu tenho várias versões do java instaladas na minha máquina e quero criar um alias para todas elas. Normalmente, o executável para java está na pasta / Library // bin / java. Eu quero criar e alias para que eu digite java9 no bash e executa executável para java9 (ad similarmente para outras versões do java). Como fazer isso.

Nota tipicamente para um javaversion eu adiciono JAVA_HOME e adiciono o caminho no PATH. Mas não tenho certeza de como fazer isso.

Eu estava lendo sobre isso e parece que eval poderia ser uma opção, mas não tenho certeza de como fazer isso.

    
por Lovey 08.10.2017 / 19:26

1 resposta

1
javav () {
    local version="$1"
    shift

    case "$version" in
        8)  JAVA_HOME='/Library/some/path/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
      8.7)  JAVA_HOME='/Library/some/other/path/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
        9)  JAVA_HOME='/Library/some/other/path2/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
        *)  printf 'Unknown java version: %s\n' "$version" >&2
            return 1
    esac
}

Esta é uma função do shell, javav (renomeie se entrar em confronto com qualquer ferramenta existente). Você colocaria isso em seu arquivo .bash_profile ou .bashrc , ou em seu próprio arquivo (caso em que você precisaria usar source filename ).

Ele usa um número de versão como seu primeiro argumento e define JAVA_HOME para o caminho do diretório apropriado e PATH para incluir $JAVA_HOME/bin no início antes de executar java com os argumentos de linha de comando restantes. Já que o executável java presumivelmente vive em $JAVA_HOME/bin e como isso é o primeiro no PATH , essa é a versão Java que será iniciada.

Isso significa que você usa isso assim:

$ javav 9 other arguments to java here

Supondo que a função foi configurada com o diretório JAVA_HOME correto e PATH , isso deve iniciar o Java 9 e passar other arguments to java here para o executável java .

Observação: não sou um desenvolvedor de Java e não sei se faz sentido definir PATH como faço acima, mas você pode modificá-lo para atender às suas necessidades.

    
por 08.10.2017 / 19:41