Como fazer o downgrade do Java de 9 para 8 em um MACOS. Eclipse não funciona com Java 9

94

Como fazer o downgrade do Java de 9 para 8 em um macOS Sierra 10.12.6 (16G29). Tentei remover o plugin Java e instalei o Java 8, porém a versão Java e javac mostra 9 no terminal, mas nas preferências do sistema é 8. Agradecemos antecipadamente!

LearningNew
fonte
A versão do MacOS pode ser relevante; considere editar e adicionar isso à pergunta (não postar como um comentário).
AJNeufeld 01 de
você deu uma olhada em wiki.eclipse.org/Configure_Eclipse_for_Java_9 ?
violoncelo de

Respostas:

304

Você não precisa diminuir a nota. Você pode executar mais de uma versão do Java no MacOS. Você pode definir a versão do seu terminal com este comando no MacOS.

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

Você pode definir o valor padrão em .bashrc, .profile ou .zprofile

mdeterman
fonte
3
Muito obrigado, isso me ajudou! É uma pena que o Painel de Controle Java no MacOS não exponha configurações como esta.
sessão de
Você poderia elaborar sua resposta? O que isso /usr/libexec/java_home -v 11significa?
Sandeepan Nath
1
Fazendo export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)e export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)não resolve meu problema. Já reiniciei meu terminal também.
HendraWD
143

É assim que eu fiz. Você não precisa excluir o Java 9 ou uma versão mais recente.

Etapa 1: Instale o Java 8

Você pode baixar o Java 8 aqui: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Etapa 2: Após a instalação do Java 8. Confirme a instalação de todas as versões. Digite o seguinte comando em seu terminal.

/usr/libexec/java_home -V

Etapa 3: Editar .bash_profile

sudo nano ~/.bash_profile

Etapa 4: adicione 1.8 como padrão. (Adicione a linha abaixo ao arquivo bash_profile).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Agora pressione CTRL + X para sair do bash. Pressione 'Y' para salvar as alterações.

Etapa 5: recarregar o bash_profile

source ~/.bash_profile

Etapa 6: confirme a versão atual do Java

java -version
VK321
fonte
É possível alterar a versão do javaws da mesma maneira? Porque java -version relata que mudou, mas javaws ainda executa o mais recente disponível.
lapkritinis
11

Se você tiver várias versões do Java instaladas em seu Mac, esta é uma maneira rápida de mudar a versão padrão usando o Terminal. Neste exemplo, vou mudar o Java 10 para o Java 8.

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

Então, em seu .bash_profile adicione o seguinte.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

Agora, se você tentar java -version novamente, deverá ver a versão que deseja.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Dorjee Dhondup
fonte
4

Como ele permite instalar mais de uma versão do java, instalei muitas 3 versões sem saber, mas estava apontando para a última versão "11.0.2"

Consegui resolver esse problema com as etapas abaixo para mudar para "1.8"

$java -version

openjdk versão "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2 + 9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2 + 9, modo misto)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

versão java "1.8.0_202-ea" Java (TM) SE Runtime Environment (build 1.8.0_202-ea-b03) Java HotSpot (TM) 64-Bit Server VM (build 25.202-b03, modo misto)

keshav
fonte
Eu evitaria remover arquivos em seu sistema. Em vez disso, basta redirecionar a $JAVA_HOMEvariável env.
simeg
3

Pergunta antiga, mas acabei de ter aquele problema / Jira idiota tendo problemas com java 10 / e não encontrei uma resposta simples aqui, então vou deixar:

$ /usr/libexec/java_home -Vmostra as versões instaladas e seus locais para que você possa simplesmente remover /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Voila

Dan
fonte
1

A solução mais simples pode ser instalar o Java 8 em paralelo ao Java 9 (se ainda não existir) e especificar a JVM a ser usada explicitamente no eclipse.ini. Você pode encontrar uma descrição dessa configuração, incluindo uma descrição de como encontrar eclipse.iniem um Mac na Eclipsepedia

Lothar
fonte
-2

Você pode remover "JavaAppletPlugin.plugin" encontrado no Spotlight ou Finder e, em seguida, reinstalar o Java 8 baixado.

Isso simplesmente resolverá seu problema.

Holosuda
fonte