Corrigido! Eu desinstalei e reinstalei o Java e mudei a localização da minha JVM para /usr/lib/jvm/java-1.7.0-openjdk-i386
. A solução foi muito mais simples do que eu pensava. Agora me sinto muito bobo.
Então, depois de ler outro post, percebi que minha pergunta havia mudado. É essencialmente, por que não posso alterar meu nível de conformidade no Eclipse de 1.6 para 1.7, mas deixarei o corpo da minha pergunta como foi digitado originalmente.
Esta é uma pergunta muito específica, mas eu estou passando por uma série de cursos on-line em Java e uma das lições trata de switch. O código de exemplo usa switch com strings (o curso e eu uso o Eclipse). Quando eu tento executar o código, isso me dá um erro "Não é possível ativar um valor do tipo String para o nível de fonte abaixo de 1.7. Apenas valores int conversíveis ou constantes de enum são permitidos"
Eu entendo que isso é porque as strings só podem ser usadas com switch no Java 7. Assim, fui instalando o Java 7 no terminal usando algumas instruções que encontrei on-line. Depois disso, o Eclipse não funcionaria. Eu fui para voltar para o Java 6 e descobri que estava executando o Java 7 Oracle, mas tinha a opção de mudar para o Java 7 OpenJDK, assim o fiz. O Eclipse está funcionando novamente, mas ainda recebo o mesmo erro de antes. Por que é isso? E existe uma maneira de consertar isso?
Para algumas informações adicionadas, aqui está o terminal que retorna quando eu digito "sudo update-alternatives --config java" para alternar entre as versões.
glitch@glitch-Inspiron-1720:~$ sudo update-alternatives --config java
[sudo] password for glitch:
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
* 2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode
3 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:"
Como você pode ver, atualmente estou usando java-7-openjdk, onde antes eu usava o java-7-oracle (que resultou no Eclipse simplesmente não funcionando) e antes disso eu presumo que estava usando java-6- openjdk (isso é o que eu executo Minecraft depois de tudo, mas quem sabe).
Mais especificamente, estou usando:
glitch@glitch-Inspiron-1720:~$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.12.04.2)
OpenJDK Server VM (build 24.51-b03, mixed mode)
Eu olhei para essa pergunta: Não é possível usar o Java 7 do Eclipse?
Eu tentei seguir as instruções fornecidas até a alteração das propriedades > Compilador Java > Nível de conformidade para 1,7
Descobri que a localização da minha JVM era / usr / lib / jvm / mas quando coloco isso no JRE em casa no Eclipse isso me dá este erro: "O destino não é uma raiz do JDK. O executável Java não foi encontrado"
Estou bastante frustrado. Alguém pode ajudar? Além disso, por favor, perdoe minha ignorância, eu sou muito novo em tudo isso.
Corrigido! Eu desinstalei e reinstalei o Java e mudei a localização da minha JVM para /usr/lib/jvm/java-1.7.0-openjdk-i386
. A solução foi muito mais simples do que eu pensava. Agora me sinto muito bobo.